@cognite/aura 0.3.5 → 1.46105.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,73 +1,89 @@
1
- import { cn as e } from "../../../../lib/utils.js";
2
- import { forwardRef as t } from "react";
3
- import { cva as n } from "class-variance-authority";
4
- import { mergeProps as r } from "@base-ui/react/merge-props";
5
- import { useRender as i } from "@base-ui/react/use-render";
6
- //#region libs/aura/src/components/ui/core/badge/badge.tsx
7
- var a = n("inline-flex h-5 items-center align-middle justify-center rounded-md border px-1 text-sm font-medium leading-[18px] w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none [&>svg]:size-3 outline-none focus-visible:border-ring focus-visible:ring-ring-muted focus-visible:ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
8
- variants: {
9
- variant: {
10
- default: "border-transparent bg-neutral-background text-foreground-on-neutral",
11
- fjord: "border-transparent bg-decorative-background-fjord text-decorative-foreground-fjord",
12
- nordic: "border-transparent bg-decorative-background-nordic text-decorative-foreground-nordic",
13
- aurora: "border-transparent bg-decorative-background-aurora text-decorative-foreground-aurora",
14
- sky: "border-transparent bg-decorative-background-sky text-decorative-foreground-sky",
15
- dusk: "border-transparent bg-decorative-background-dusk text-decorative-foreground-dusk",
16
- orange: "border-transparent bg-decorative-background-orange text-decorative-foreground-orange",
17
- gray: "border-transparent bg-decorative-background-mountain text-decorative-foreground-mountain",
18
- mountain: "border-transparent bg-decorative-background-mountain text-decorative-foreground-mountain",
19
- secondary: "border-transparent bg-secondary-background text-secondary-foreground",
20
- error: "border-transparent bg-destructive-background text-destructive-foreground-on-critical",
21
- warning: "border-transparent bg-warning-background text-warning-foreground-on-warning",
22
- success: "border-transparent bg-success-background text-success-foreground-on-success",
23
- inProgress: "border-transparent bg-info-background text-info-foreground-on-info",
24
- archived: "border-transparent bg-neutral-background text-neutral-foreground-on-neutral",
25
- closable: "border-transparent bg-secondary-background text-secondary-foreground hover:bg-secondary-background-hover cursor-pointer"
26
- },
27
- size: {
28
- default: "",
29
- icon: "w-5 px-0 py-0"
30
- },
31
- outline: { true: "border-border" },
32
- background: { false: "bg-transparent" },
33
- dot: { true: "min-w-5 rounded-md border border-background px-1 gap-0" }
34
- },
35
- defaultVariants: {
36
- variant: "default",
37
- size: "default",
38
- outline: !1,
39
- background: !0,
40
- dot: !1
41
- }
42
- }), o = t(({ className: t, variant: n, size: o, outline: s, dot: c, background: l, urgent: u = !1, children: d, render: f, ...p }, m) => {
43
- let h = !d, g = n && !(/* @__PURE__ */ new Set([
44
- "mountain",
45
- "fjord",
46
- "nordic",
47
- "aurora",
48
- "dusk",
49
- "orange"
50
- ])).has(n), _ = s === !0 && g;
51
- return i({
52
- defaultTagName: "span",
53
- ref: m,
54
- props: r({ className: e(a({
55
- variant: n,
56
- size: o,
57
- outline: _,
58
- background: !_ && l,
59
- dot: c
60
- }), _ && n === "error" && "text-destructive-foreground", _ && n === "warning" && "text-warning-foreground", _ && n === "success" && "text-success-foreground", _ && n === "inProgress" && "text-info-foreground", _ && n === "archived" && "text-neutral-foreground", c && h && "h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border-0", c && u && "bg-destructive-background text-destructive-foreground-on-critical", t) }, {
61
- ...p,
62
- children: d
63
- }),
64
- render: f,
65
- state: {
66
- slot: "badge",
67
- variant: n
68
- }
69
- });
1
+ import { forwardRef } from "react";
2
+ import { mergeProps } from "@base-ui/react/merge-props";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ import { cva } from "class-variance-authority";
5
+ import { decorativeBadgeVariantClasses, legacyDecorativeBadgeVariantClasses } from "../../../../lib/decorative-variant-classes.js";
6
+ import { cn } from "../../../../lib/utils.js";
7
+ const badgeVariants = cva('inline-flex h-5 items-center align-middle justify-center rounded-md border px-1 text-sm font-medium leading-[18px] w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none [&>svg]:size-3 outline-none focus-visible:border-ring focus-visible:ring-ring-muted focus-visible:ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden', {
8
+ variants: {
9
+ variant: {
10
+ ...decorativeBadgeVariantClasses,
11
+ ...legacyDecorativeBadgeVariantClasses,
12
+ secondary: 'border-transparent bg-secondary-background text-secondary-foreground',
13
+ error: 'border-transparent bg-critical-background text-critical-foreground',
14
+ warning: 'border-transparent bg-warning-background text-warning-foreground',
15
+ success: 'border-transparent bg-success-background text-success-foreground',
16
+ inProgress: 'border-transparent bg-info-background text-info-foreground',
17
+ archived: 'border-transparent bg-neutral-background text-neutral-foreground',
18
+ closable: 'border-transparent bg-secondary-background text-secondary-foreground hover:bg-secondary-background-hover cursor-pointer'
19
+ },
20
+ size: {
21
+ default: '',
22
+ icon: 'w-5 px-0 py-0'
23
+ },
24
+ outline: {
25
+ true: 'border-default'
26
+ },
27
+ background: {
28
+ false: 'bg-transparent'
29
+ },
30
+ dot: {
31
+ true: 'min-w-5 rounded-md border border-base-background px-1 gap-0'
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ variant: 'decorative-1',
36
+ size: 'default',
37
+ outline: false,
38
+ background: true,
39
+ dot: false
40
+ }
70
41
  });
71
- o.displayName = "Badge";
72
- //#endregion
73
- export { o as Badge, a as badgeVariants };
42
+ const dotEmptyFillByVariant = {
43
+ success: 'bg-success-foreground-strong',
44
+ error: 'bg-critical-foreground-strong',
45
+ warning: 'bg-warning-foreground-strong',
46
+ inProgress: 'bg-info-foreground-strong',
47
+ archived: 'bg-neutral-foreground-strong'
48
+ };
49
+ const dotEmptyFillFallback = 'bg-info-foreground-strong';
50
+ const Badge = /*#__PURE__*/ forwardRef(({ className, variant, size, outline, dot, background, urgent = false, children, render, ...props }, ref)=>{
51
+ const isEmpty = !children;
52
+ const filledOnlyVariants = new Set([
53
+ 'decorative-1',
54
+ 'decorative-2',
55
+ 'decorative-3',
56
+ 'decorative-4',
57
+ 'decorative-5',
58
+ 'decorative-6',
59
+ 'decorative-7'
60
+ ]);
61
+ const canBeOutlined = variant && !filledOnlyVariants.has(variant);
62
+ const isOutlined = outline === true && canBeOutlined;
63
+ const resolvedVariant = variant ?? 'decorative-1';
64
+ return useRender({
65
+ defaultTagName: 'span',
66
+ ref,
67
+ props: mergeProps({
68
+ className: cn(badgeVariants({
69
+ variant,
70
+ size,
71
+ outline: isOutlined,
72
+ background: isOutlined ? false : background,
73
+ dot
74
+ }), isOutlined && variant === 'error' && 'text-critical-foreground', isOutlined && variant === 'warning' && 'text-warning-foreground', isOutlined && variant === 'success' && 'text-success-foreground', isOutlined && variant === 'inProgress' && 'text-info-foreground', isOutlined && variant === 'archived' && 'text-neutral-foreground', dot && isEmpty && 'h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border border-base-background bg-transparent', dot && isEmpty && urgent && 'bg-critical-foreground-strong', dot && isEmpty && !urgent && (dotEmptyFillByVariant[resolvedVariant] ?? dotEmptyFillFallback), dot && !isEmpty && (urgent ? 'bg-critical-background text-critical-foreground' : 'bg-medium-background text-medium-foreground border-default'), className)
75
+ }, {
76
+ ...props,
77
+ children
78
+ }),
79
+ render,
80
+ state: {
81
+ slot: 'badge',
82
+ variant
83
+ }
84
+ });
85
+ });
86
+ Badge.displayName = 'Badge';
87
+ export { Badge, badgeVariants };
88
+
89
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/badge/badge.tsx"],"sourcesContent":["import type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassProp } from 'class-variance-authority/types';\n\nimport {\n decorativeBadgeVariantClasses,\n legacyDecorativeBadgeVariantClasses,\n type DecorativeVariantProp,\n} from '../../../../lib/decorative-variant-classes';\nimport { cn } from '../../../../lib/utils';\n\ninterface BadgeVariantProps {\n variant?:\n | DecorativeVariantProp\n | 'secondary'\n | 'error'\n | 'warning'\n | 'success'\n | 'inProgress'\n | 'archived'\n | 'closable'\n | null;\n size?: 'default' | 'icon' | null;\n outline?: boolean | null;\n background?: boolean | null;\n dot?: boolean | null;\n}\n\nconst badgeVariants: (\n props?: (BadgeVariantProps & ClassProp) | undefined\n) => string = cva(\n 'inline-flex h-5 items-center align-middle justify-center rounded-md border px-1 text-sm font-medium leading-[18px] w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none [&>svg]:size-3 outline-none focus-visible:border-ring focus-visible:ring-ring-muted focus-visible:ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden',\n {\n variants: {\n variant: {\n ...decorativeBadgeVariantClasses,\n ...legacyDecorativeBadgeVariantClasses,\n secondary:\n 'border-transparent bg-secondary-background text-secondary-foreground',\n error:\n 'border-transparent bg-critical-background text-critical-foreground',\n warning:\n 'border-transparent bg-warning-background text-warning-foreground',\n success:\n 'border-transparent bg-success-background text-success-foreground',\n inProgress:\n 'border-transparent bg-info-background text-info-foreground',\n archived:\n 'border-transparent bg-neutral-background text-neutral-foreground',\n closable:\n 'border-transparent bg-secondary-background text-secondary-foreground hover:bg-secondary-background-hover cursor-pointer',\n },\n size: {\n default: '',\n icon: 'w-5 px-0 py-0',\n },\n outline: {\n true: 'border-default',\n },\n background: {\n false: 'bg-transparent',\n },\n dot: {\n true: 'min-w-5 rounded-md border border-base-background px-1 gap-0',\n },\n },\n defaultVariants: {\n variant: 'decorative-1',\n size: 'default',\n outline: false,\n background: true,\n dot: false,\n },\n }\n);\n\nconst dotEmptyFillByVariant: Partial<\n Record<NonNullable<BadgeVariantProps['variant']>, string>\n> = {\n success: 'bg-success-foreground-strong',\n error: 'bg-critical-foreground-strong',\n warning: 'bg-warning-foreground-strong',\n inProgress: 'bg-info-foreground-strong',\n archived: 'bg-neutral-foreground-strong',\n};\n\nconst dotEmptyFillFallback = 'bg-info-foreground-strong';\n\ntype BadgeProps = useRender.ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n urgent?: boolean;\n };\n\nconst Badge: ForwardRefExoticComponent<\n Omit<BadgeProps, 'ref'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n className,\n variant,\n size,\n outline,\n dot,\n background,\n urgent = false,\n children,\n render,\n ...props\n },\n ref\n ) => {\n const isEmpty = !children;\n\n const filledOnlyVariants = new Set<\n NonNullable<BadgeVariantProps['variant']>\n >([\n 'decorative-1',\n 'decorative-2',\n 'decorative-3',\n 'decorative-4',\n 'decorative-5',\n 'decorative-6',\n 'decorative-7',\n ]);\n const canBeOutlined = variant && !filledOnlyVariants.has(variant);\n const isOutlined = outline === true && canBeOutlined;\n const resolvedVariant = variant ?? 'decorative-1';\n\n return useRender({\n defaultTagName: 'span',\n ref,\n props: mergeProps<'span'>(\n {\n className: cn(\n badgeVariants({\n variant,\n size,\n outline: isOutlined,\n background: isOutlined ? false : background,\n dot,\n }),\n isOutlined && variant === 'error' && 'text-critical-foreground',\n isOutlined && variant === 'warning' && 'text-warning-foreground',\n isOutlined && variant === 'success' && 'text-success-foreground',\n isOutlined && variant === 'inProgress' && 'text-info-foreground',\n isOutlined && variant === 'archived' && 'text-neutral-foreground',\n dot &&\n isEmpty &&\n 'h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border border-base-background bg-transparent',\n dot && isEmpty && urgent && 'bg-critical-foreground-strong',\n dot &&\n isEmpty &&\n !urgent &&\n (dotEmptyFillByVariant[resolvedVariant] ?? dotEmptyFillFallback),\n dot &&\n !isEmpty &&\n (urgent\n ? 'bg-critical-background text-critical-foreground'\n : 'bg-medium-background text-medium-foreground border-default'),\n className\n ),\n },\n { ...props, children }\n ),\n render,\n state: {\n slot: 'badge',\n variant,\n },\n });\n }\n);\n\nBadge.displayName = 'Badge';\n\nexport { Badge, badgeVariants };\n"],"names":["forwardRef","mergeProps","useRender","cva","decorativeBadgeVariantClasses","legacyDecorativeBadgeVariantClasses","cn","badgeVariants","variants","variant","secondary","error","warning","success","inProgress","archived","closable","size","default","icon","outline","true","background","false","dot","defaultVariants","dotEmptyFillByVariant","dotEmptyFillFallback","Badge","className","urgent","children","render","props","ref","isEmpty","filledOnlyVariants","Set","canBeOutlined","has","isOutlined","resolvedVariant","defaultTagName","state","slot","displayName"],"mappings":"AACA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAA4BC,GAAG,QAAQ,2BAA2B;AAGlE,SACEC,6BAA6B,EAC7BC,mCAAmC,QAE9B,gDAA6C;AACpD,SAASC,EAAE,QAAQ,2BAAwB;AAmB3C,MAAMC,gBAEQJ,IACZ,qbACA;IACEK,UAAU;QACRC,SAAS;YACP,GAAGL,6BAA6B;YAChC,GAAGC,mCAAmC;YACtCK,WACE;YACFC,OACE;YACFC,SACE;YACFC,SACE;YACFC,YACE;YACFC,UACE;YACFC,UACE;QACJ;QACAC,MAAM;YACJC,SAAS;YACTC,MAAM;QACR;QACAC,SAAS;YACPC,MAAM;QACR;QACAC,YAAY;YACVC,OAAO;QACT;QACAC,KAAK;YACHH,MAAM;QACR;IACF;IACAI,iBAAiB;QACfhB,SAAS;QACTQ,MAAM;QACNG,SAAS;QACTE,YAAY;QACZE,KAAK;IACP;AACF;AAGF,MAAME,wBAEF;IACFb,SAAS;IACTF,OAAO;IACPC,SAAS;IACTE,YAAY;IACZC,UAAU;AACZ;AAEA,MAAMY,uBAAuB;AAO7B,MAAMC,sBAEF5B,WACF,CACE,EACE6B,SAAS,EACTpB,OAAO,EACPQ,IAAI,EACJG,OAAO,EACPI,GAAG,EACHF,UAAU,EACVQ,SAAS,KAAK,EACdC,QAAQ,EACRC,MAAM,EACN,GAAGC,OACJ,EACDC;IAEA,MAAMC,UAAU,CAACJ;IAEjB,MAAMK,qBAAqB,IAAIC,IAE7B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACD,MAAMC,gBAAgB7B,WAAW,CAAC2B,mBAAmBG,GAAG,CAAC9B;IACzD,MAAM+B,aAAapB,YAAY,QAAQkB;IACvC,MAAMG,kBAAkBhC,WAAW;IAEnC,OAAOP,UAAU;QACfwC,gBAAgB;QAChBR;QACAD,OAAOhC,WACL;YACE4B,WAAWvB,GACTC,cAAc;gBACZE;gBACAQ;gBACAG,SAASoB;gBACTlB,YAAYkB,aAAa,QAAQlB;gBACjCE;YACF,IACAgB,cAAc/B,YAAY,WAAW,4BACrC+B,cAAc/B,YAAY,aAAa,2BACvC+B,cAAc/B,YAAY,aAAa,2BACvC+B,cAAc/B,YAAY,gBAAgB,wBAC1C+B,cAAc/B,YAAY,cAAc,2BACxCe,OACEW,WACA,yGACFX,OAAOW,WAAWL,UAAU,iCAC5BN,OACEW,WACA,CAACL,UACAJ,CAAAA,qBAAqB,CAACe,gBAAgB,IAAId,oBAAmB,GAChEH,OACE,CAACW,WACAL,CAAAA,SACG,oDACA,4DAA2D,GACjED;QAEJ,GACA;YAAE,GAAGI,KAAK;YAAEF;QAAS;QAEvBC;QACAW,OAAO;YACLC,MAAM;YACNnC;QACF;IACF;AACF;AAGFmB,MAAMiB,WAAW,GAAG;AAEpB,SAASjB,KAAK,EAAErB,aAAa,GAAG"}
@@ -1,30 +1,30 @@
1
- import { ForwardRefExoticComponent, RefAttributes, ComponentProps, ComponentType, HTMLAttributes } from 'react';
2
- import { IconProps } from '@tabler/icons-react';
3
- import { VariantProps } from 'class-variance-authority';
4
- import { ClassProp } from 'class-variance-authority/types';
5
- import { Badge } from '../badge/badge';
6
- import { Button } from '../button/button';
1
+ import { type ForwardRefExoticComponent, type RefAttributes, type ComponentProps, type ComponentType, type HTMLAttributes } from "react";
2
+ import type { IconProps } from "@tabler/icons-react";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ import type { ClassProp } from "class-variance-authority/types";
5
+ import { Badge } from "../badge/badge";
6
+ import { Button } from "../button/button";
7
7
  interface BannerVariantProps {
8
- variant?: 'default' | 'info' | 'destructive' | 'warning' | null;
9
- inset?: boolean | null;
8
+ variant?: "default" | "info" | "destructive" | "warning" | null;
9
+ inset?: boolean | null;
10
10
  }
11
11
  declare const bannerVariants: (props?: (BannerVariantProps & ClassProp) | undefined) => string;
12
12
  type BannerProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof bannerVariants> & {
13
- visible?: boolean;
14
- defaultVisible?: boolean;
15
- onClose?: () => void;
13
+ visible?: boolean;
14
+ defaultVisible?: boolean;
15
+ onClose?: () => void;
16
16
  };
17
- declare const Banner: ForwardRefExoticComponent<Omit<BannerProps, 'ref'> & RefAttributes<HTMLDivElement>>;
17
+ declare const Banner: ForwardRefExoticComponent<Omit<BannerProps, "ref"> & RefAttributes<HTMLDivElement>>;
18
18
  type TablerIconComponent = ComponentType<IconProps>;
19
19
  declare const BannerIcon: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
20
- icon: TablerIconComponent;
20
+ icon: TablerIconComponent;
21
21
  } & RefAttributes<HTMLDivElement>>;
22
22
  type BannerTitleProps = HTMLAttributes<HTMLParagraphElement>;
23
23
  declare const BannerTitle: ForwardRefExoticComponent<BannerTitleProps & RefAttributes<HTMLParagraphElement>>;
24
- declare const BannerStatus: ForwardRefExoticComponent<Omit<ComponentProps<typeof Badge>, 'ref'> & RefAttributes<HTMLSpanElement>>;
24
+ declare const BannerStatus: ForwardRefExoticComponent<Omit<ComponentProps<typeof Badge>, "ref"> & RefAttributes<HTMLSpanElement>>;
25
25
  type BannerActionsProps = HTMLAttributes<HTMLDivElement>;
26
26
  declare const BannerActions: ForwardRefExoticComponent<BannerActionsProps & RefAttributes<HTMLDivElement>>;
27
- declare const BannerAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>, 'ref'> & RefAttributes<HTMLElement>>;
28
- type BannerCloseProps = Omit<ComponentProps<typeof Button>, 'size'>;
29
- declare const BannerClose: ForwardRefExoticComponent<Omit<BannerCloseProps, 'ref'> & RefAttributes<HTMLElement>>;
30
- export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose, };
27
+ declare const BannerAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>, "ref"> & RefAttributes<HTMLElement>>;
28
+ type BannerCloseProps = Omit<ComponentProps<typeof Button>, "size">;
29
+ declare const BannerClose: ForwardRefExoticComponent<Omit<BannerCloseProps, "ref"> & RefAttributes<HTMLElement>>;
30
+ export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose };
@@ -1,149 +1,186 @@
1
- import { cn as e } from "../../../../lib/utils.js";
2
- import { Button as t } from "../button/button.js";
3
- import { Badge as n } from "../badge/badge.js";
4
- import { createContext as r, forwardRef as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
5
- import { jsx as d } from "react/jsx-runtime";
6
- import { cva as f } from "class-variance-authority";
7
- var p = r({
8
- show: !0,
9
- setShow: (e) => {},
10
- variant: "default"
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../../../../lib/utils.js";
5
+ import { Badge } from "../badge/badge.js";
6
+ import { Button } from "../button/button.js";
7
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
8
+ const noop = (_show)=>{};
9
+ const BannerContext = /*#__PURE__*/ createContext({
10
+ show: true,
11
+ setShow: noop,
12
+ variant: 'default'
11
13
  });
12
- function m(e) {
13
- return typeof e == "function";
14
+ function isUpdater(next) {
15
+ return typeof next === 'function';
14
16
  }
15
- function h({ visible: e, defaultVisible: t, onClose: n }) {
16
- let [r, i] = u(t), o = e !== void 0, c = o ? e : r, d = l(n);
17
- return s(() => {
18
- d.current = n;
19
- }, [n]), [c, a((t) => {
20
- if (o) {
21
- (m(t) ? t(e) : t) || d.current?.();
22
- return;
23
- }
24
- i((e) => {
25
- let n = m(t) ? t(e) : t;
26
- return n || d.current?.(), n;
27
- });
28
- }, [o, e])];
17
+ function useBannerVisibility({ visible, defaultVisible, onClose }) {
18
+ const [uncontrolledVisible, setUncontrolledVisible] = useState(defaultVisible);
19
+ const isControlled = visible !== undefined;
20
+ const currentValue = isControlled ? visible : uncontrolledVisible;
21
+ const onCloseRef = useRef(onClose);
22
+ useEffect(()=>{
23
+ onCloseRef.current = onClose;
24
+ }, [
25
+ onClose
26
+ ]);
27
+ const setValue = useCallback((next)=>{
28
+ if (isControlled) {
29
+ const resolved = isUpdater(next) ? next(visible) : next;
30
+ if (!resolved) {
31
+ onCloseRef.current?.();
32
+ }
33
+ return;
34
+ }
35
+ setUncontrolledVisible((prev)=>{
36
+ const resolved = isUpdater(next) ? next(prev) : next;
37
+ if (!resolved) {
38
+ onCloseRef.current?.();
39
+ }
40
+ return resolved;
41
+ });
42
+ }, [
43
+ isControlled,
44
+ visible
45
+ ]);
46
+ return [
47
+ currentValue,
48
+ setValue
49
+ ];
29
50
  }
30
- var g = f("flex w-full h-11 flex-col items-start justify-center px-3 py-0", {
31
- variants: {
32
- variant: {
33
- default: "bg-neutral-background text-foreground-fixed-dark",
34
- info: "bg-info-background text-foreground-fixed-dark",
35
- warning: "bg-warning-background text-foreground-fixed-dark",
36
- destructive: "bg-destructive-background text-foreground-fixed-dark"
37
- },
38
- inset: {
39
- true: "rounded-lg",
40
- false: ""
41
- }
42
- },
43
- defaultVariants: {
44
- variant: "default",
45
- inset: !1
46
- }
47
- }), _ = i(({ children: t, visible: n, defaultVisible: r = !0, onClose: i, className: a, inset: o = !1, variant: s = "default", ...l }, u) => {
48
- let f = s ?? "default", [m, _] = h({
49
- defaultVisible: r,
50
- visible: n,
51
- onClose: i
52
- }), v = c(() => ({
53
- show: m ?? !0,
54
- setShow: _,
55
- variant: f
56
- }), [
57
- m,
58
- _,
59
- f
60
- ]);
61
- return m ? /* @__PURE__ */ d(p.Provider, {
62
- value: v,
63
- children: /* @__PURE__ */ d("div", {
64
- ref: u,
65
- "data-slot": "banner",
66
- className: e(g({
67
- variant: f,
68
- inset: o
69
- }), a),
70
- ...l,
71
- children: /* @__PURE__ */ d("div", {
72
- "data-slot": "banner-content",
73
- className: "flex h-7 w-full items-center self-stretch gap-2",
74
- children: t
75
- })
76
- })
77
- }) : null;
51
+ const bannerVariants = cva('flex w-full h-11 flex-col items-start justify-center px-3 py-0', {
52
+ variants: {
53
+ variant: {
54
+ default: 'bg-neutral-background text-foreground-fixed-dark',
55
+ info: 'bg-info-background text-foreground-fixed-dark',
56
+ warning: 'bg-warning-background text-foreground-fixed-dark',
57
+ destructive: 'bg-destructive-background text-foreground-fixed-dark'
58
+ },
59
+ inset: {
60
+ true: 'rounded-lg',
61
+ false: ''
62
+ }
63
+ },
64
+ defaultVariants: {
65
+ variant: 'default',
66
+ inset: false
67
+ }
78
68
  });
79
- _.displayName = "Banner";
80
- var v = {
81
- default: "text-neutral-foreground-on-neutral",
82
- info: "text-info-foreground-on-info",
83
- warning: "text-warning-foreground-on-warning",
84
- destructive: "text-destructive-foreground-on-critical"
85
- }, y = i(({ icon: t, className: n, ...r }, i) => {
86
- let { variant: a } = o(p);
87
- return /* @__PURE__ */ d("div", {
88
- ref: i,
89
- "data-slot": "banner-icon",
90
- className: e("flex h-4 w-4 shrink-0 items-center justify-center", v[a], n),
91
- ...r,
92
- children: /* @__PURE__ */ d(t, { size: 16 })
93
- });
69
+ const Banner = /*#__PURE__*/ forwardRef(({ children, visible, defaultVisible = true, onClose, className, inset = false, variant = 'default', ...props }, ref)=>{
70
+ const resolvedVariant = variant ?? 'default';
71
+ const [show, setShow] = useBannerVisibility({
72
+ defaultVisible,
73
+ visible,
74
+ onClose
75
+ });
76
+ const contextValue = useMemo(()=>({
77
+ show: show ?? true,
78
+ setShow,
79
+ variant: resolvedVariant
80
+ }), [
81
+ show,
82
+ setShow,
83
+ resolvedVariant
84
+ ]);
85
+ if (!show) {
86
+ return null;
87
+ }
88
+ return /*#__PURE__*/ _jsx(BannerContext.Provider, {
89
+ value: contextValue,
90
+ children: /*#__PURE__*/ _jsx("div", {
91
+ ref: ref,
92
+ "data-slot": "banner",
93
+ className: cn(bannerVariants({
94
+ variant: resolvedVariant,
95
+ inset
96
+ }), className),
97
+ ...props,
98
+ children: /*#__PURE__*/ _jsx("div", {
99
+ "data-slot": "banner-content",
100
+ className: "flex h-7 w-full items-center self-stretch gap-2",
101
+ children: children
102
+ })
103
+ })
104
+ });
94
105
  });
95
- y.displayName = "BannerIcon";
96
- var b = i(({ className: t, ...n }, r) => /* @__PURE__ */ d("p", {
97
- ref: r,
98
- "data-slot": "banner-title",
99
- className: e("flex min-w-0 flex-1 items-center text-base font-medium leading-5 tracking-tighter text-foreground-fixed-dark", t),
100
- ...n
101
- }));
102
- b.displayName = "BannerTitle";
103
- var x = i(({ outline: t = !0, variant: r, className: i, ...a }, s) => {
104
- let { variant: c } = o(p);
105
- return /* @__PURE__ */ d(n, {
106
- ref: s,
107
- "data-slot": "banner-status",
108
- outline: t,
109
- variant: r ?? {
110
- default: "default",
111
- info: "inProgress",
112
- destructive: "error",
113
- warning: "warning"
114
- }[c],
115
- className: e("shrink-0", i),
116
- ...a
117
- });
106
+ Banner.displayName = 'Banner';
107
+ const ICON_COLOR_CLASSES = {
108
+ default: 'text-neutral-foreground-on-neutral',
109
+ info: 'text-info-foreground-on-info',
110
+ warning: 'text-warning-foreground-on-warning',
111
+ destructive: 'text-destructive-foreground-on-critical'
112
+ };
113
+ const BannerIcon = /*#__PURE__*/ forwardRef(({ icon: Icon, className, ...props }, ref)=>{
114
+ const { variant } = useContext(BannerContext);
115
+ return /*#__PURE__*/ _jsx("div", {
116
+ ref: ref,
117
+ "data-slot": "banner-icon",
118
+ className: cn('flex h-4 w-4 shrink-0 items-center justify-center', ICON_COLOR_CLASSES[variant], className),
119
+ ...props,
120
+ children: /*#__PURE__*/ _jsx(Icon, {
121
+ size: 16
122
+ })
123
+ });
118
124
  });
119
- x.displayName = "BannerStatus";
120
- var S = i(({ className: t, ...n }, r) => /* @__PURE__ */ d("div", {
121
- ref: r,
122
- "data-slot": "banner-actions",
123
- className: e("ml-auto flex h-7 shrink-0 items-center gap-2", t),
124
- ...n
125
- }));
126
- S.displayName = "BannerActions";
127
- var C = i(({ variant: n = "ghost", size: r = "sm", className: i, ...a }, o) => /* @__PURE__ */ d(t, {
128
- ref: o,
129
- "data-slot": "banner-action",
130
- className: e("h-7 min-w-16 shrink-0 rounded px-2 text-sm font-medium leading-4.5 text-foreground-fixed-dark hover:bg-transparent dark:hover:bg-transparent hover:text-foreground-secondary-fixed-dark disabled:bg-transparent dark:disabled:bg-transparent disabled:text-disabled-foreground", i),
131
- size: r,
132
- variant: n,
133
- ...a
134
- }));
135
- C.displayName = "BannerAction";
136
- var w = i(({ onClick: e, ...t }, n) => {
137
- let { setShow: r } = o(p);
138
- return /* @__PURE__ */ d(C, {
139
- ref: n,
140
- "data-slot": "banner-close",
141
- onClick: (t) => {
142
- r(!1), e?.(t);
143
- },
144
- ...t
145
- });
125
+ BannerIcon.displayName = 'BannerIcon';
126
+ const BannerTitle = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ _jsx("p", {
127
+ ref: ref,
128
+ "data-slot": "banner-title",
129
+ className: cn('flex min-w-0 flex-1 items-center text-base font-medium leading-5 tracking-tighter text-foreground-fixed-dark', className),
130
+ ...props
131
+ }));
132
+ BannerTitle.displayName = 'BannerTitle';
133
+ const BannerStatus = /*#__PURE__*/ forwardRef(({ outline = true, variant, className, ...props }, ref)=>{
134
+ const { variant: bannerVariant } = useContext(BannerContext);
135
+ const variantMap = {
136
+ default: 'secondary',
137
+ info: 'inProgress',
138
+ destructive: 'error',
139
+ warning: 'warning'
140
+ };
141
+ const badgeVariant = variant ?? variantMap[bannerVariant];
142
+ return /*#__PURE__*/ _jsx(Badge, {
143
+ ref: ref,
144
+ "data-slot": "banner-status",
145
+ outline: outline,
146
+ variant: badgeVariant,
147
+ className: cn('shrink-0', className),
148
+ ...props
149
+ });
146
150
  });
147
- w.displayName = "BannerClose";
148
- //#endregion
149
- export { _ as Banner, C as BannerAction, S as BannerActions, w as BannerClose, y as BannerIcon, x as BannerStatus, b as BannerTitle };
151
+ BannerStatus.displayName = 'BannerStatus';
152
+ const BannerActions = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ _jsx("div", {
153
+ ref: ref,
154
+ "data-slot": "banner-actions",
155
+ className: cn('ml-auto flex h-7 shrink-0 items-center gap-2', className),
156
+ ...props
157
+ }));
158
+ BannerActions.displayName = 'BannerActions';
159
+ const BannerAction = /*#__PURE__*/ forwardRef(({ variant = 'ghost', size = 'sm', className, ...props }, ref)=>{
160
+ return /*#__PURE__*/ _jsx(Button, {
161
+ ref: ref,
162
+ "data-slot": "banner-action",
163
+ className: cn('h-7 min-w-16 shrink-0 rounded px-2 text-sm font-medium leading-4.5 text-medium-foreground hover:bg-transparent dark:hover:bg-transparent hover:text-medium-foreground disabled:bg-transparent dark:disabled:bg-transparent disabled:text-base-foreground-disabled', className),
164
+ size: size,
165
+ variant: variant,
166
+ ...props
167
+ });
168
+ });
169
+ BannerAction.displayName = 'BannerAction';
170
+ const BannerClose = /*#__PURE__*/ forwardRef(({ onClick, ...props }, ref)=>{
171
+ const { setShow } = useContext(BannerContext);
172
+ const handleClick = (e)=>{
173
+ setShow(false);
174
+ onClick?.(e);
175
+ };
176
+ return /*#__PURE__*/ _jsx(BannerAction, {
177
+ ref: ref,
178
+ "data-slot": "banner-close",
179
+ onClick: handleClick,
180
+ ...props
181
+ });
182
+ });
183
+ BannerClose.displayName = 'BannerClose';
184
+ export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose };
185
+
186
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/banner/banner.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentProps,\n type ComponentRef,\n type ComponentType,\n type HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport type { IconProps } from '@tabler/icons-react';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassProp } from 'class-variance-authority/types';\n\nimport { cn } from '../../../../lib/utils';\nimport { Badge } from '../badge/badge';\nimport { Button } from '../button/button';\n\ntype BannerVariant = 'default' | 'info' | 'destructive' | 'warning';\ntype SetStateAction<T> = T | ((prev: T) => T);\n\ntype BannerContextProps = {\n show: boolean;\n setShow: (show: boolean) => void;\n variant: BannerVariant;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (_show: boolean) => {};\n\nconst BannerContext = createContext<BannerContextProps>({\n show: true,\n setShow: noop,\n variant: 'default',\n});\n\nfunction isUpdater<T>(next: SetStateAction<T>): next is (prev: T) => T {\n return typeof next === 'function';\n}\n\nfunction useBannerVisibility({\n visible,\n defaultVisible,\n onClose,\n}: {\n visible?: boolean;\n defaultVisible: boolean;\n onClose?: () => void;\n}): readonly [boolean, (next: SetStateAction<boolean>) => void] {\n const [uncontrolledVisible, setUncontrolledVisible] =\n useState(defaultVisible);\n const isControlled = visible !== undefined;\n const currentValue = isControlled ? visible : uncontrolledVisible;\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n const setValue = useCallback(\n (next: SetStateAction<boolean>) => {\n if (isControlled) {\n const resolved = isUpdater(next) ? next(visible) : next;\n\n if (!resolved) {\n onCloseRef.current?.();\n }\n\n return;\n }\n\n setUncontrolledVisible((prev) => {\n const resolved = isUpdater(next) ? next(prev) : next;\n\n if (!resolved) {\n onCloseRef.current?.();\n }\n\n return resolved;\n });\n },\n [isControlled, visible]\n );\n\n return [currentValue, setValue];\n}\n\ninterface BannerVariantProps {\n variant?: 'default' | 'info' | 'destructive' | 'warning' | null;\n inset?: boolean | null;\n}\n\nconst bannerVariants: (\n props?: (BannerVariantProps & ClassProp) | undefined\n) => string = cva(\n 'flex w-full h-11 flex-col items-start justify-center px-3 py-0',\n {\n variants: {\n variant: {\n default: 'bg-neutral-background text-foreground-fixed-dark',\n info: 'bg-info-background text-foreground-fixed-dark',\n warning: 'bg-warning-background text-foreground-fixed-dark',\n destructive: 'bg-destructive-background text-foreground-fixed-dark',\n },\n inset: {\n true: 'rounded-lg',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n inset: false,\n },\n }\n);\n\ntype BannerProps = HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof bannerVariants> & {\n visible?: boolean;\n defaultVisible?: boolean;\n onClose?: () => void;\n };\n\nconst Banner: ForwardRefExoticComponent<\n Omit<BannerProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerProps>(\n (\n {\n children,\n visible,\n defaultVisible = true,\n onClose,\n className,\n inset = false,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n const resolvedVariant: BannerVariant = variant ?? 'default';\n const [show, setShow] = useBannerVisibility({\n defaultVisible,\n visible,\n onClose,\n });\n\n const contextValue = useMemo(\n () => ({ show: show ?? true, setShow, variant: resolvedVariant }),\n [show, setShow, resolvedVariant]\n );\n\n if (!show) {\n return null;\n }\n\n return (\n <BannerContext.Provider value={contextValue}>\n <div\n ref={ref}\n data-slot=\"banner\"\n className={cn(\n bannerVariants({ variant: resolvedVariant, inset }),\n className\n )}\n {...props}\n >\n <div\n data-slot=\"banner-content\"\n className=\"flex h-7 w-full items-center self-stretch gap-2\"\n >\n {children}\n </div>\n </div>\n </BannerContext.Provider>\n );\n }\n);\nBanner.displayName = 'Banner';\n\ntype TablerIconComponent = ComponentType<IconProps>;\n\ntype BannerIconProps = HTMLAttributes<HTMLDivElement> & {\n icon: TablerIconComponent;\n};\n\nconst ICON_COLOR_CLASSES: Record<BannerVariant, string> = {\n default: 'text-neutral-foreground-on-neutral',\n info: 'text-info-foreground-on-info',\n warning: 'text-warning-foreground-on-warning',\n destructive: 'text-destructive-foreground-on-critical',\n};\n\nconst BannerIcon: ForwardRefExoticComponent<\n HTMLAttributes<HTMLDivElement> & {\n icon: TablerIconComponent;\n } & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerIconProps>(\n ({ icon: Icon, className, ...props }, ref) => {\n const { variant } = useContext(BannerContext);\n\n return (\n <div\n ref={ref}\n data-slot=\"banner-icon\"\n className={cn(\n 'flex h-4 w-4 shrink-0 items-center justify-center',\n ICON_COLOR_CLASSES[variant],\n className\n )}\n {...props}\n >\n <Icon size={16} />\n </div>\n );\n }\n);\nBannerIcon.displayName = 'BannerIcon';\n\ntype BannerTitleProps = HTMLAttributes<HTMLParagraphElement>;\n\nconst BannerTitle: ForwardRefExoticComponent<\n BannerTitleProps & RefAttributes<HTMLParagraphElement>\n> = forwardRef<ComponentRef<'p'>, BannerTitleProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"banner-title\"\n className={cn(\n 'flex min-w-0 flex-1 items-center text-base font-medium leading-5 tracking-tighter text-foreground-fixed-dark',\n className\n )}\n {...props}\n />\n )\n);\nBannerTitle.displayName = 'BannerTitle';\n\ntype BannerStatusProps = ComponentProps<typeof Badge>;\n\nconst BannerStatus: ForwardRefExoticComponent<\n Omit<ComponentProps<typeof Badge>, 'ref'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<typeof Badge>, BannerStatusProps>(\n ({ outline = true, variant, className, ...props }, ref) => {\n const { variant: bannerVariant } = useContext(BannerContext);\n\n const variantMap: Record<\n BannerVariant,\n 'secondary' | 'warning' | 'error' | 'inProgress'\n > = {\n default: 'secondary',\n info: 'inProgress',\n destructive: 'error',\n warning: 'warning',\n };\n\n const badgeVariant = variant ?? variantMap[bannerVariant];\n\n return (\n <Badge\n ref={ref}\n data-slot=\"banner-status\"\n outline={outline}\n variant={badgeVariant}\n className={cn('shrink-0', className)}\n {...props}\n />\n );\n }\n);\nBannerStatus.displayName = 'BannerStatus';\n\ntype BannerActionsProps = HTMLAttributes<HTMLDivElement>;\n\nconst BannerActions: ForwardRefExoticComponent<\n BannerActionsProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerActionsProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"banner-actions\"\n className={cn('ml-auto flex h-7 shrink-0 items-center gap-2', className)}\n {...props}\n />\n )\n);\nBannerActions.displayName = 'BannerActions';\n\ntype BannerActionProps = ComponentProps<typeof Button>;\n\nconst BannerAction: ForwardRefExoticComponent<\n Omit<ComponentProps<typeof Button>, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Button>, BannerActionProps>(\n ({ variant = 'ghost', size = 'sm', className, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n data-slot=\"banner-action\"\n className={cn(\n 'h-7 min-w-16 shrink-0 rounded px-2 text-sm font-medium leading-4.5 text-medium-foreground hover:bg-transparent dark:hover:bg-transparent hover:text-medium-foreground disabled:bg-transparent dark:disabled:bg-transparent disabled:text-base-foreground-disabled',\n className\n )}\n size={size}\n variant={variant}\n {...props}\n />\n );\n }\n);\nBannerAction.displayName = 'BannerAction';\n\ntype BannerCloseProps = Omit<ComponentProps<typeof Button>, 'size'>;\n\nconst BannerClose: ForwardRefExoticComponent<\n Omit<BannerCloseProps, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Button>, BannerCloseProps>(\n ({ onClick, ...props }, ref) => {\n const { setShow } = useContext(BannerContext);\n\n type ButtonClickHandler = NonNullable<\n ComponentProps<typeof Button>['onClick']\n >;\n const handleClick = (e: Parameters<ButtonClickHandler>[0]) => {\n setShow(false);\n onClick?.(e);\n };\n\n return (\n <BannerAction\n ref={ref}\n data-slot=\"banner-close\"\n onClick={handleClick}\n {...props}\n />\n );\n }\n);\nBannerClose.displayName = 'BannerClose';\n\nexport {\n Banner,\n BannerIcon,\n BannerTitle,\n BannerStatus,\n BannerActions,\n BannerAction,\n BannerClose,\n};\n"],"names":["createContext","forwardRef","useCallback","useContext","useEffect","useMemo","useRef","useState","cva","cn","Badge","Button","noop","_show","BannerContext","show","setShow","variant","isUpdater","next","useBannerVisibility","visible","defaultVisible","onClose","uncontrolledVisible","setUncontrolledVisible","isControlled","undefined","currentValue","onCloseRef","current","setValue","resolved","prev","bannerVariants","variants","default","info","warning","destructive","inset","true","false","defaultVariants","Banner","children","className","props","ref","resolvedVariant","contextValue","Provider","value","div","data-slot","displayName","ICON_COLOR_CLASSES","BannerIcon","icon","Icon","size","BannerTitle","p","BannerStatus","outline","bannerVariant","variantMap","badgeVariant","BannerActions","BannerAction","BannerClose","onClick","handleClick","e"],"mappings":"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"}