@acronis-platform/ui-react 0.61.0 → 1.0.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 (204) hide show
  1. package/dist/components/ui/alert/alert.js +115 -57
  2. package/dist/components/ui/alert/alert.js.map +1 -1
  3. package/dist/components/ui/button-group/button-group.js +57 -0
  4. package/dist/components/ui/button-group/button-group.js.map +1 -0
  5. package/dist/components/ui/button-icon-menu/button-icon-menu.js +26 -0
  6. package/dist/components/ui/button-icon-menu/button-icon-menu.js.map +1 -0
  7. package/dist/components/ui/calendar-panel/calendar-panel-utils.js +63 -0
  8. package/dist/components/ui/calendar-panel/calendar-panel-utils.js.map +1 -0
  9. package/dist/components/ui/calendar-panel/calendar-panel.js +260 -0
  10. package/dist/components/ui/calendar-panel/calendar-panel.js.map +1 -0
  11. package/dist/components/ui/chip/chip.js +33 -33
  12. package/dist/components/ui/chip/chip.js.map +1 -1
  13. package/dist/components/ui/date-range-picker/date-range-picker-utils.js +11 -23
  14. package/dist/components/ui/date-range-picker/date-range-picker-utils.js.map +1 -1
  15. package/dist/components/ui/date-range-picker/date-range-picker.js +94 -134
  16. package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
  17. package/dist/components/ui/dropdown-menu/dropdown-menu.js +129 -72
  18. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  19. package/dist/components/ui/filter-cards/filter-cards.js +25 -0
  20. package/dist/components/ui/filter-cards/filter-cards.js.map +1 -0
  21. package/dist/components/ui/filter-chips/filter-chips.js +44 -0
  22. package/dist/components/ui/filter-chips/filter-chips.js.map +1 -0
  23. package/dist/components/ui/filter-search/filter-search.js +184 -138
  24. package/dist/components/ui/filter-search/filter-search.js.map +1 -1
  25. package/dist/components/ui/fitted-actions/fitted-actions.js +139 -0
  26. package/dist/components/ui/fitted-actions/fitted-actions.js.map +1 -0
  27. package/dist/components/ui/input-date-picker/input-date-picker.js +103 -93
  28. package/dist/components/ui/input-date-picker/input-date-picker.js.map +1 -1
  29. package/dist/components/ui/input-password/input-password.js +76 -66
  30. package/dist/components/ui/input-password/input-password.js.map +1 -1
  31. package/dist/components/ui/input-search/input-search.js +9 -9
  32. package/dist/components/ui/input-search/input-search.js.map +1 -1
  33. package/dist/components/ui/input-select/input-select.js +8 -8
  34. package/dist/components/ui/input-select/input-select.js.map +1 -1
  35. package/dist/components/ui/input-text/input-text.js +77 -66
  36. package/dist/components/ui/input-text/input-text.js.map +1 -1
  37. package/dist/components/ui/input-text-area/input-text-area.js +76 -66
  38. package/dist/components/ui/input-text-area/input-text-area.js.map +1 -1
  39. package/dist/components/ui/link/link.js +50 -35
  40. package/dist/components/ui/link/link.js.map +1 -1
  41. package/dist/components/ui/number-field/number-field.js +1 -1
  42. package/dist/components/ui/number-field/number-field.js.map +1 -1
  43. package/dist/components/ui/popover/popover.js +75 -56
  44. package/dist/components/ui/popover/popover.js.map +1 -1
  45. package/dist/components/ui/resizable/resizable.js +23 -11
  46. package/dist/components/ui/resizable/resizable.js.map +1 -1
  47. package/dist/components/ui/scroll-area/scroll-area.js +46 -30
  48. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
  49. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js.map +1 -1
  50. package/dist/components/ui/timer/timer.js +47 -0
  51. package/dist/components/ui/timer/timer.js.map +1 -0
  52. package/dist/components/ui/toast/toast.js +168 -61
  53. package/dist/components/ui/toast/toast.js.map +1 -1
  54. package/dist/components/ui/truncate-text/middle-truncate.js +20 -0
  55. package/dist/components/ui/truncate-text/middle-truncate.js.map +1 -0
  56. package/dist/components/ui/truncate-text/text-width.js +12 -0
  57. package/dist/components/ui/truncate-text/text-width.js.map +1 -0
  58. package/dist/components/ui/truncate-text/truncate-text.js +152 -0
  59. package/dist/components/ui/truncate-text/truncate-text.js.map +1 -0
  60. package/dist/index.js +507 -469
  61. package/dist/index.js.map +1 -1
  62. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js +5 -5
  63. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js.map +1 -1
  64. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js +3 -6
  65. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js.map +1 -1
  66. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useDayPicker.js +3 -3
  67. package/dist/react.js +507 -469
  68. package/dist/react.js.map +1 -1
  69. package/dist/src/components/ui/alert/alert.d.ts +34 -3
  70. package/dist/src/components/ui/alert/index.d.ts +2 -2
  71. package/dist/src/components/ui/button/button.d.ts +1 -1
  72. package/dist/src/components/ui/button-group/button-group.d.ts +38 -0
  73. package/dist/src/components/ui/button-group/index.d.ts +1 -0
  74. package/dist/src/components/ui/button-icon/button-icon.d.ts +1 -1
  75. package/dist/src/components/ui/button-icon-menu/button-icon-menu.d.ts +28 -0
  76. package/dist/src/components/ui/button-icon-menu/index.d.ts +1 -0
  77. package/dist/src/components/ui/button-menu/button-menu.d.ts +1 -1
  78. package/dist/src/components/ui/calendar-panel/__tests__/calendar-panel-utils.test.d.ts +1 -0
  79. package/dist/src/components/ui/calendar-panel/calendar-panel-utils.d.ts +55 -0
  80. package/dist/src/components/ui/calendar-panel/calendar-panel.d.ts +112 -0
  81. package/dist/src/components/ui/calendar-panel/index.d.ts +1 -0
  82. package/dist/src/components/ui/chip/chip.d.ts +1 -1
  83. package/dist/src/components/ui/date-range-picker/date-range-picker-utils.d.ts +10 -16
  84. package/dist/src/components/ui/date-range-picker/date-range-picker.d.ts +46 -2
  85. package/dist/src/components/ui/dropdown-menu/dropdown-menu.d.ts +8 -1
  86. package/dist/src/components/ui/dropdown-menu/index.d.ts +1 -1
  87. package/dist/src/components/ui/filter-cards/filter-cards.d.ts +11 -0
  88. package/dist/src/components/ui/filter-cards/index.d.ts +1 -0
  89. package/dist/src/components/ui/filter-chips/filter-chips.d.ts +25 -0
  90. package/dist/src/components/ui/filter-chips/index.d.ts +1 -0
  91. package/dist/src/components/ui/filter-search/filter-search.d.ts +39 -1
  92. package/dist/src/components/ui/fitted-actions/fitted-actions.d.ts +50 -0
  93. package/dist/src/components/ui/fitted-actions/fitted-actions.docs.d.ts +45 -0
  94. package/dist/src/components/ui/fitted-actions/index.d.ts +1 -0
  95. package/dist/src/components/ui/link/index.d.ts +1 -1
  96. package/dist/src/components/ui/link/link.d.ts +22 -4
  97. package/dist/src/components/ui/metric/metric.d.ts +1 -1
  98. package/dist/src/components/ui/popover/popover.d.ts +30 -1
  99. package/dist/src/components/ui/popover/popover.docs.d.ts +27 -2
  100. package/dist/src/components/ui/scroll-area/scroll-area.d.ts +24 -0
  101. package/dist/src/components/ui/tag/tag.d.ts +1 -1
  102. package/dist/src/components/ui/timer/index.d.ts +1 -0
  103. package/dist/src/components/ui/timer/timer.d.ts +28 -0
  104. package/dist/src/components/ui/toast/index.d.ts +1 -1
  105. package/dist/src/components/ui/toast/toast.d.ts +51 -18
  106. package/dist/src/components/ui/toast/toast.docs.d.ts +4 -0
  107. package/dist/src/components/ui/trend-indicator/trend-indicator.d.ts +1 -1
  108. package/dist/src/components/ui/truncate-text/__tests__/middle-truncate.test.d.ts +1 -0
  109. package/dist/src/components/ui/truncate-text/index.d.ts +3 -0
  110. package/dist/src/components/ui/truncate-text/middle-truncate.d.ts +13 -0
  111. package/dist/src/components/ui/truncate-text/text-width.d.ts +11 -0
  112. package/dist/src/components/ui/truncate-text/truncate-text.d.ts +45 -0
  113. package/dist/src/components/ui/truncate-text/truncate-text.docs.d.ts +35 -0
  114. package/dist/src/index.d.ts +8 -0
  115. package/dist/ui-react.css +1 -1
  116. package/package.json +4 -4
  117. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDefaultOptions.js +0 -8
  118. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDefaultOptions.js.map +0 -1
  119. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISODay.js +0 -9
  120. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISODay.js.map +0 -1
  121. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Parser.js +0 -23
  122. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Parser.js.map +0 -1
  123. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Setter.js +0 -42
  124. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Setter.js.map +0 -1
  125. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/constants.js +0 -50
  126. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/constants.js.map +0 -1
  127. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +0 -50
  128. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +0 -1
  129. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +0 -50
  130. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +0 -1
  131. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js +0 -62
  132. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +0 -1
  133. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +0 -52
  134. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +0 -1
  135. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js +0 -50
  136. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +0 -1
  137. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +0 -50
  138. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +0 -1
  139. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js +0 -34
  140. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +0 -1
  141. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +0 -22
  142. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +0 -1
  143. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +0 -23
  144. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +0 -1
  145. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +0 -33
  146. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +0 -1
  147. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +0 -33
  148. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +0 -1
  149. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +0 -34
  150. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +0 -1
  151. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +0 -34
  152. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +0 -1
  153. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +0 -106
  154. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +0 -1
  155. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +0 -49
  156. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +0 -1
  157. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +0 -49
  158. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +0 -1
  159. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +0 -50
  160. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +0 -1
  161. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +0 -41
  162. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +0 -1
  163. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +0 -81
  164. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +0 -1
  165. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +0 -49
  166. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +0 -1
  167. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +0 -70
  168. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +0 -1
  169. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +0 -33
  170. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +0 -1
  171. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +0 -78
  172. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +0 -1
  173. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +0 -76
  174. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +0 -1
  175. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +0 -33
  176. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +0 -1
  177. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +0 -81
  178. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +0 -1
  179. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +0 -78
  180. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +0 -1
  181. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +0 -76
  182. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +0 -1
  183. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +0 -23
  184. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +0 -1
  185. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +0 -23
  186. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +0 -1
  187. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js +0 -50
  188. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +0 -1
  189. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers.js +0 -68
  190. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers.js.map +0 -1
  191. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/utils.js +0 -104
  192. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/utils.js.map +0 -1
  193. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse.js +0 -86
  194. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse.js.map +0 -1
  195. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setDay.js +0 -12
  196. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setDay.js.map +0 -1
  197. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISODay.js +0 -11
  198. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISODay.js.map +0 -1
  199. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISOWeek.js +0 -10
  200. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISOWeek.js.map +0 -1
  201. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setWeek.js +0 -10
  202. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setWeek.js.map +0 -1
  203. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/transpose.js +0 -18
  204. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/transpose.js.map +0 -1
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,45 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
+ import { ButtonIconProps } from '../button-icon';
2
3
  import * as React from 'react';
3
4
  declare const alertVariants: (props?: ({
4
- variant?: "info" | "success" | "warning" | "critical" | "destructive" | "ai" | "neutral" | null | undefined;
5
+ variant?: "info" | "success" | "warning" | "critical" | "danger" | null | undefined;
5
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export type AlertVariant = NonNullable<VariantProps<typeof alertVariants>['variant']>;
6
8
  export interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
7
9
  }
10
+ /**
11
+ * A status banner: neutral surface, a status-colored border, and a status line
12
+ * down the leading edge. Compose it from `AlertIcon`, `AlertContent`
13
+ * (`AlertText` + `AlertTitle` / `AlertDescription`, optionally `AlertActions`)
14
+ * and `AlertClose`.
15
+ */
8
16
  declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
17
+ /**
18
+ * The leading status icon. Renders the variant's own icon when given no
19
+ * `children`; pass children to substitute a different glyph.
20
+ */
9
21
  declare const AlertIcon: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
10
22
  declare const AlertContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
23
+ /**
24
+ * The title + description block. Its own vertical padding is what keeps the
25
+ * text aligned with the icon, so keep the title and description inside it
26
+ * rather than directly under `AlertContent`.
27
+ */
28
+ declare const AlertText: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
11
29
  declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
12
- declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
30
+ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
31
+ /**
32
+ * Action buttons under the text. Place inside `AlertContent` (after
33
+ * `AlertText`), as the Figma does — the row wraps when it runs out of width.
34
+ */
13
35
  declare const AlertActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
14
- export { Alert, AlertIcon, AlertContent, AlertTitle, AlertDescription, AlertActions, };
36
+ export interface AlertCloseProps extends Omit<ButtonIconProps, 'children' | 'variant' | 'render' | 'aria-label'> {
37
+ /** Accessible name for the dismiss control. */
38
+ ariaLabel?: string;
39
+ }
40
+ /**
41
+ * The trailing dismiss control. Rendering it is what makes an alert
42
+ * dismissable — wire `onClick` to remove the alert. Name it with `ariaLabel`.
43
+ */
44
+ declare const AlertClose: React.ForwardRefExoticComponent<AlertCloseProps & React.RefAttributes<HTMLButtonElement>>;
45
+ export { Alert, AlertIcon, AlertContent, AlertText, AlertTitle, AlertDescription, AlertActions, AlertClose, alertVariants, };
@@ -1,2 +1,2 @@
1
- export { Alert, AlertIcon, AlertContent, AlertTitle, AlertDescription, AlertActions, } from './alert';
2
- export type { AlertProps } from './alert';
1
+ export { Alert, AlertIcon, AlertContent, AlertText, AlertTitle, AlertDescription, AlertActions, AlertClose, alertVariants, } from './alert';
2
+ export type { AlertProps, AlertCloseProps, AlertVariant } from './alert';
@@ -2,7 +2,7 @@ import { useRender } from '@base-ui/react/use-render';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  declare const buttonVariants: (props?: ({
5
- variant?: "destructive" | "ai" | "secondary" | "default" | "ghost" | null | undefined;
5
+ variant?: "ghost" | "secondary" | "default" | "destructive" | "ai" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
8
  /**
@@ -0,0 +1,38 @@
1
+ import { ToolbarButtonProps, ToolbarRootProps } from '@base-ui/react/toolbar';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
+ declare const buttonGroupVariants: (props?: ({
5
+ variant?: "outlined" | "inlined" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ declare const buttonGroupItemVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
8
+ export interface ButtonGroupProps extends Omit<ToolbarRootProps, 'className' | 'orientation'>, VariantProps<typeof buttonGroupVariants> {
9
+ className?: string;
10
+ }
11
+ /**
12
+ * A cluster of related icon-only actions sharing a single bordered box.
13
+ *
14
+ * Renders a `role="toolbar"` container: the group is one Tab stop and the
15
+ * arrow keys move between items. Give it an accessible name (`aria-label` or
16
+ * `aria-labelledby`) describing what the actions have in common.
17
+ */
18
+ declare const ButtonGroup: React.ForwardRefExoticComponent<Omit<ButtonGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ /** Mirrors the Figma `ButtonGroupItem` `order` variant. */
20
+ export type ButtonGroupItemOrder = 'first' | 'middle' | 'last';
21
+ export interface ButtonGroupItemProps extends Omit<ToolbarButtonProps, 'className'> {
22
+ className?: string;
23
+ /**
24
+ * Position within the group, mirroring the Figma `order` variant. Controls
25
+ * one thing: whether the trailing separator is drawn (`last` omits it).
26
+ *
27
+ * Leave it unset — position is derived from the DOM. Only pass it when each
28
+ * item is wrapped in another element, which defeats that derivation.
29
+ */
30
+ order?: ButtonGroupItemOrder;
31
+ }
32
+ /**
33
+ * A single action inside a `ButtonGroup`. The icon is passed as `children`;
34
+ * provide an `aria-label` (or `aria-labelledby`) so the control has an
35
+ * accessible name.
36
+ */
37
+ declare const ButtonGroupItem: React.ForwardRefExoticComponent<Omit<ButtonGroupItemProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
38
+ export { ButtonGroup, ButtonGroupItem, buttonGroupVariants, buttonGroupItemVariants, };
@@ -0,0 +1 @@
1
+ export { ButtonGroup, ButtonGroupItem, buttonGroupVariants, buttonGroupItemVariants, type ButtonGroupProps, type ButtonGroupItemProps, type ButtonGroupItemOrder, } from './button-group';
@@ -2,7 +2,7 @@ import { useRender } from '@base-ui/react/use-render';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  declare const buttonIconVariants: (props?: ({
5
- variant?: "secondary" | "ghost" | null | undefined;
5
+ variant?: "ghost" | "secondary" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  export interface ButtonIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonIconVariants> {
8
8
  /**
@@ -0,0 +1,28 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import * as React from 'react';
3
+ export interface ButtonIconMenuProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
4
+ /**
5
+ * Whether the associated menu is open. Applies the open (`*-active`)
6
+ * treatment and reflects `aria-expanded`. Control this in sync with the menu
7
+ * you trigger.
8
+ */
9
+ open?: boolean;
10
+ /**
11
+ * Accessible name for the trigger. The button is icon-only, so it has no text
12
+ * to name it — pass a localized string here.
13
+ */
14
+ ariaLabel?: string;
15
+ /**
16
+ * Replace the rendered `<button>` with another element or component
17
+ * (Base UI composition). Accepts a React element or a render function —
18
+ * the component's props and class names are merged onto it.
19
+ */
20
+ render?: useRender.RenderProp;
21
+ }
22
+ /**
23
+ * Icon-only button that opens a menu of actions — the kebab / "more options"
24
+ * trigger. The glyph is fixed (Ellipsis); for any other icon use `ButtonIcon`.
25
+ * Pair it with the menu it controls and keep the `open` prop in sync.
26
+ */
27
+ declare const ButtonIconMenu: React.ForwardRefExoticComponent<ButtonIconMenuProps & React.RefAttributes<HTMLButtonElement>>;
28
+ export { ButtonIconMenu };
@@ -0,0 +1 @@
1
+ export { ButtonIconMenu, type ButtonIconMenuProps } from './button-icon-menu';
@@ -2,7 +2,7 @@ import { useRender } from '@base-ui/react/use-render';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  declare const buttonMenuVariants: (props?: ({
5
- variant?: "primary" | "secondary" | null | undefined;
5
+ variant?: "secondary" | "primary" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  export interface ButtonMenuProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, VariantProps<typeof buttonMenuVariants> {
8
8
  /**
@@ -0,0 +1,55 @@
1
+ import { CalendarPanelSelected, CalendarPanelVariant } from './calendar-panel';
2
+ import { DayPickerLocale, DayPickerProps } from 'react-day-picker';
3
+ /** Number of years offered on each side of the current year by default. */
4
+ export declare const DEFAULT_YEAR_SPAN = 50;
5
+ /** A `{value, label}` pair for one `InputSelect` option in the header dropdowns. */
6
+ export interface CalendarSelectItem<T> {
7
+ value: T;
8
+ label: string;
9
+ }
10
+ /**
11
+ * Resolves the year dropdown's bounds: an explicit `fromYear`/`toYear` wins,
12
+ * otherwise falls back to `currentYear` ± `span`.
13
+ */
14
+ export declare function resolveYearRange(fromYear: number | undefined, toYear: number | undefined, currentYear: number, span?: number): {
15
+ fromYear: number;
16
+ toYear: number;
17
+ };
18
+ /** Day-of-week index DayPicker accepts for `weekStartsOn` (0 = Sunday). */
19
+ export type WeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
20
+ /**
21
+ * Resolves the week's first day: an explicit `weekStartsOn` wins, then the
22
+ * `locale`'s own week start, then Monday (per the design default).
23
+ */
24
+ export declare function resolveWeekStartsOn(weekStartsOn: WeekStartsOn | undefined, locale: DayPickerLocale | undefined): WeekStartsOn;
25
+ /**
26
+ * Builds the 12 month dropdown items. Formats each from year 2000 (a leap
27
+ * year), so every month — including February 29 — formats from a valid date.
28
+ */
29
+ export declare function buildMonthItems(formatMonthLabel: (date: Date) => string): CalendarSelectItem<number>[];
30
+ /**
31
+ * Builds the year dropdown items spanning `fromYear`..`toYear` inclusive.
32
+ * An inverted range (`toYear < fromYear`) clamps to a single `fromYear` item
33
+ * rather than producing an empty or negative-length list.
34
+ */
35
+ export declare function buildYearItems(fromYear: number, toYear: number): CalendarSelectItem<number>[];
36
+ /**
37
+ * Backs a header-dropdown navigation target off so the last of `numberOfMonths`
38
+ * displayed months doesn't run past `endMonth`. Mirrors react-day-picker's own
39
+ * `getInitialMonth` back-off — its `goToMonth` only clamps the *first* displayed
40
+ * month to `endMonth`, so for a two-month `range` panel, requesting a first month
41
+ * within one month of `endMonth` (e.g. `endMonth` itself) leaves the second month
42
+ * past the bound, and `getDisplayMonths` silently drops it instead of the pair
43
+ * sliding back.
44
+ */
45
+ export declare function clampNavigationTarget(target: Date, endMonth: Date, numberOfMonths: number): Date;
46
+ /**
47
+ * Assembles DayPicker's mode-specific selection props from `variant`. DayPicker's
48
+ * props are a discriminated union keyed by a literal `mode`, so each branch is
49
+ * built separately (rather than a single object with `mode: variant`) — a
50
+ * literal tag is what lets TypeScript pick the matching union member without
51
+ * an `as DayPickerProps` assertion. `selected`/`onSelect` are cast per branch
52
+ * to their branch-specific shape only, which the discriminated `CalendarPanelProps`
53
+ * union above guarantees is safe at the call site.
54
+ */
55
+ export declare function buildModeProps(variant: CalendarPanelVariant, selected: CalendarPanelSelected, onSelect: ((selected: CalendarPanelSelected, triggerDate: Date) => void) | undefined, min: number | undefined, max: number | undefined): DayPickerProps;
@@ -0,0 +1,112 @@
1
+ import { DateRange, DayButton, DayPickerLocale, Matcher, MonthCaptionProps } from 'react-day-picker';
2
+ import * as React from 'react';
3
+ export type CalendarPanelVariant = 'single' | 'multiple' | 'range';
4
+ /** Selected value, shaped by the active `variant`. */
5
+ export type CalendarPanelSelected = Date | Date[] | DateRange | undefined;
6
+ /**
7
+ * The header of one month column: a month `InputSelect` and a year `InputSelect`.
8
+ * Replaces DayPicker's `MonthCaption`.
9
+ */
10
+ declare function CalendarHeader({ calendarMonth, displayIndex, className, ...props }: MonthCaptionProps): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace CalendarHeader {
12
+ var displayName: string;
13
+ }
14
+ /**
15
+ * One day cell (Figma's "CalendarItem") — a flat 32×32 square. `data-active`
16
+ * (a selected day or either range endpoint) and `data-range-middle` are mutually
17
+ * exclusive, so their backgrounds never compete.
18
+ */
19
+ declare function CalendarItem({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): import("react/jsx-runtime").JSX.Element;
20
+ declare namespace CalendarItem {
21
+ var displayName: string;
22
+ }
23
+ interface CalendarPanelSharedProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'defaultValue'> {
24
+ /**
25
+ * Text direction. Forwarded to `DayPicker` explicitly — an ancestor's `dir`
26
+ * mirrors the panel's CSS layout automatically (logical properties), but
27
+ * `react-day-picker` only flips its Arrow Left/Right keyboard roaming when
28
+ * `dir` is passed to it directly, so it must also be passed here.
29
+ */
30
+ dir?: 'ltr' | 'rtl';
31
+ /** Uncontrolled initial month shown. */
32
+ defaultMonth?: Date;
33
+ /** Controlled month shown (the first month, for `range`). */
34
+ month?: Date;
35
+ /** Called when the displayed month changes (header dropdowns). */
36
+ onMonthChange?: (month: Date) => void;
37
+ /** Days that cannot be selected. */
38
+ disabled?: Matcher | Matcher[];
39
+ /** Minimum count (`multiple` / `range`; ignored for `single`): for `multiple`, the number of selected dates; for `range`, the number of nights between start and end. */
40
+ min?: number;
41
+ /** Maximum count (`multiple` / `range`; ignored for `single`): for `multiple`, the number of selected dates; for `range`, the number of nights between start and end. */
42
+ max?: number;
43
+ /** Render the leading/trailing days of the adjacent months. */
44
+ showOutsideDays?: boolean;
45
+ /**
46
+ * First day of the week (0 = Sunday). Defaults to `locale`'s own week start,
47
+ * falling back to Monday (per the design) when no `locale` is given.
48
+ */
49
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
50
+ /**
51
+ * First year offered by the year dropdown and the earliest month the grid
52
+ * can navigate to. Defaults to 50 years back.
53
+ */
54
+ fromYear?: number;
55
+ /**
56
+ * Last year offered by the year dropdown and the latest month the grid can
57
+ * navigate to. Defaults to 50 years ahead.
58
+ */
59
+ toYear?: number;
60
+ /**
61
+ * Localizes weekday names and DayPicker's default day-cell/caption accessible
62
+ * labels (e.g. `import { es } from 'react-day-picker/locale'`). Defaults to
63
+ * date-fns `enUS`. Does not translate `monthLabel`/`yearLabel`/`cancelLabel`/
64
+ * `applyLabel`/`formatMonthLabel` — those are separate props the consumer
65
+ * must localize themselves.
66
+ */
67
+ locale?: DayPickerLocale;
68
+ /** Accessible name of the month dropdown. */
69
+ monthLabel?: string;
70
+ /** Accessible name of the year dropdown. */
71
+ yearLabel?: string;
72
+ /** Formats a month's name for the month dropdown. Defaults to `locale`-aware `date-fns` formatting. */
73
+ formatMonthLabel?: (date: Date) => string;
74
+ /** Footer "Cancel" button label (`multiple` / `range`). */
75
+ cancelLabel?: string;
76
+ /** Footer "Apply" button label (`multiple` / `range`). */
77
+ applyLabel?: string;
78
+ /** Called when the footer's Cancel button is pressed. */
79
+ onCancel?: () => void;
80
+ /** Called when the footer's Apply button is pressed. */
81
+ onApply?: () => void;
82
+ }
83
+ /** `variant="single"` (the default) — `selected` is a single optional `Date`. */
84
+ export interface CalendarPanelSingleProps extends CalendarPanelSharedProps {
85
+ /** Selection mode + panel structure. `multiple`/`range` add the Cancel/Apply footer; `range` shows two months. */
86
+ variant?: 'single';
87
+ /** The selected date. Uncontrolled unless `onSelect` is provided. */
88
+ selected?: Date;
89
+ /** Called when the selection changes. Providing it makes `selected` controlled. */
90
+ onSelect?: (selected: Date | undefined, triggerDate: Date) => void;
91
+ }
92
+ /** `variant="multiple"` — `selected` is a `Date[]`, and the footer is shown. */
93
+ export interface CalendarPanelMultipleProps extends CalendarPanelSharedProps {
94
+ variant: 'multiple';
95
+ selected?: Date[];
96
+ onSelect?: (selected: Date[] | undefined, triggerDate: Date) => void;
97
+ }
98
+ /** `variant="range"` — `selected` is a `DateRange`, two months render, and the footer is shown. */
99
+ export interface CalendarPanelRangeProps extends CalendarPanelSharedProps {
100
+ variant: 'range';
101
+ selected?: DateRange;
102
+ onSelect?: (selected: DateRange | undefined, triggerDate: Date) => void;
103
+ }
104
+ /**
105
+ * `CalendarPanel`'s props, discriminated by `variant` — a `single` panel only
106
+ * accepts a `Date`, `multiple` only a `Date[]`, `range` only a `DateRange`, so
107
+ * mismatched `selected`/`onSelect` shapes are caught at the call site instead
108
+ * of silently reaching `react-day-picker` with the wrong shape at runtime.
109
+ */
110
+ export type CalendarPanelProps = CalendarPanelSingleProps | CalendarPanelMultipleProps | CalendarPanelRangeProps;
111
+ declare const CalendarPanel: React.ForwardRefExoticComponent<CalendarPanelProps & React.RefAttributes<HTMLDivElement>>;
112
+ export { CalendarPanel, CalendarItem, CalendarHeader };
@@ -0,0 +1 @@
1
+ export { CalendarPanel, CalendarItem, CalendarHeader, type CalendarPanelProps, type CalendarPanelSingleProps, type CalendarPanelMultipleProps, type CalendarPanelRangeProps, type CalendarPanelSelected, type CalendarPanelVariant, } from './calendar-panel';
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
3
  declare const chipVariants: (props?: ({
4
- variant?: "removable" | "selectable" | null | undefined;
4
+ variant?: "removable" | "selectable" | "operational" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
6
  export interface ChipProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof chipVariants> {
7
7
  /** Optional leading icon, rendered at 16px before the label. */
@@ -1,32 +1,26 @@
1
+ import { DayPickerLocale } from 'react-day-picker';
1
2
  /** A start/end date range. Both ends are optional (a partial range while editing). */
2
3
  export interface DateRange {
3
4
  from?: Date;
4
5
  to?: Date;
5
6
  }
6
- /** The date display / parse pattern used by the trigger and the editable fields. */
7
+ /**
8
+ * The date display pattern used by the trigger. Fixed month-day-year order
9
+ * regardless of `locale` — only the month/day/era token *names* localize (see
10
+ * {@link formatDate}); true locale-aware reordering is a separate, bigger
11
+ * change (tracked, not done here).
12
+ */
7
13
  export declare const DISPLAY_FORMAT = "MMM d, yyyy";
8
14
  /**
9
15
  * Format a date with {@link DISPLAY_FORMAT}, returning `''` for a missing or
10
16
  * invalid `Date`. `date-fns`' `format` throws a `RangeError` on an invalid
11
17
  * `Date` (e.g. `new Date('garbage')`), so the `isValid` guard is load-bearing —
12
18
  * a truthy-but-invalid `Date` must not reach `format`.
13
- */
14
- export declare function formatDate(date: Date | undefined): string;
15
- /**
16
- * Parse a {@link DISPLAY_FORMAT} string into a `Date`, or `undefined` when the
17
- * text is empty, partial (mid-type), or not a real calendar date
18
- * (e.g. `"Feb 30, 2026"`). The result is normalized to the start of the day so
19
- * it round-trips with {@link formatDate} — `date-fns`' `parse` fills the unspecified
20
- * time-of-day from its reference date, which would otherwise leave a "now" time
21
- * on the value and break equality with the midnight dates the calendar emits.
22
19
  *
23
- * NOTE: the pattern is locale-fixed (US-style `MMM d, yyyy`), matching the
24
- * `InputDatePicker` trigger. Locale-aware parsing is not yet supported — a
25
- * known limitation to revisit once the design tier lands.
20
+ * `locale` only translates the month name via `date-fns`' `format` `options`
21
+ * — it does not reorder `DISPLAY_FORMAT`'s fixed month-day-year pattern.
26
22
  */
27
- export declare function parseDate(text: string): Date | undefined;
28
- /** Structural equality of two ranges by their endpoints' timestamps. */
29
- export declare function rangesEqual(a: DateRange, b: DateRange): boolean;
23
+ export declare function formatDate(date: Date | undefined, locale?: DayPickerLocale): string;
30
24
  /**
31
25
  * Return a range whose `from` is never after its `to`. When both ends are set
32
26
  * and inverted (e.g. the user typed an end date earlier than the start), the two
@@ -1,10 +1,11 @@
1
+ import { DayPickerLocale, Matcher } from 'react-day-picker';
1
2
  import { DateRange } from './date-range-picker-utils';
2
3
  import * as React from 'react';
3
4
  export type { DateRange };
4
5
  export interface DateRangePickerProps {
5
6
  /** The applied range (controlled). Omit for uncontrolled use with `defaultValue`. */
6
7
  value?: DateRange;
7
- /** The initial applied range (uncontrolled) and the target of "Reset to default". */
8
+ /** The initial applied range (uncontrolled). */
8
9
  defaultValue?: DateRange;
9
10
  /** Called with the committed range when Apply is pressed. */
10
11
  onValueChange?: (range: DateRange) => void;
@@ -20,8 +21,51 @@ export interface DateRangePickerProps {
20
21
  disabled?: boolean;
21
22
  /** Marks the trigger required. */
22
23
  required?: boolean;
23
- /** Extra classes merged onto the trigger. */
24
+ /** Extra classes merged onto the trigger's field wrapper (label + box + message). */
24
25
  className?: string;
26
+ /** Days that cannot be selected in the calendar. */
27
+ disabledDays?: Matcher | Matcher[];
28
+ /** Minimum number of nights between the range's start and end (`differenceInCalendarDays(to, from)`) — e.g. `min={7}` requires at least 8 selectable days. */
29
+ min?: number;
30
+ /** Maximum number of nights between the range's start and end (`differenceInCalendarDays(to, from)`) — e.g. `max={31}` admits up to 32 selectable days. */
31
+ max?: number;
32
+ /** Render the leading/trailing days of the adjacent months. */
33
+ showOutsideDays?: boolean;
34
+ /**
35
+ * First day of the week (0 = Sunday). Defaults to `locale`'s own week
36
+ * start, falling back to Monday when no `locale` is given.
37
+ */
38
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
39
+ /**
40
+ * First year offered by the year dropdown and the earliest month the grid
41
+ * can navigate to. Defaults to 50 years back.
42
+ */
43
+ fromYear?: number;
44
+ /**
45
+ * Last year offered by the year dropdown and the latest month the grid can
46
+ * navigate to. Defaults to 50 years ahead.
47
+ */
48
+ toYear?: number;
49
+ /**
50
+ * Localizes weekday names, the calendar's default day-cell/caption
51
+ * accessible labels, and the trigger's month name (e.g. `import { es }
52
+ * from 'react-day-picker/locale'`). The trigger's day/year order stays
53
+ * fixed (`MMM d, yyyy`) — only the month name translates, not the
54
+ * ordering. Defaults to date-fns `enUS`. Does not translate `monthLabel`/
55
+ * `yearLabel`/`cancelLabel`/`applyLabel`/`formatMonthLabel` — those are
56
+ * separate props.
57
+ */
58
+ locale?: DayPickerLocale;
59
+ /** Accessible name of the calendar's month dropdown. */
60
+ monthLabel?: string;
61
+ /** Accessible name of the calendar's year dropdown. */
62
+ yearLabel?: string;
63
+ /** Formats a month's name for the month dropdown. Defaults to `locale`-aware `date-fns` formatting. */
64
+ formatMonthLabel?: (date: Date) => string;
65
+ /** Popup footer's "Cancel" button label. */
66
+ cancelLabel?: string;
67
+ /** Popup footer's "Apply" button label. */
68
+ applyLabel?: string;
25
69
  }
26
70
  declare const DateRangePicker: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<HTMLButtonElement>>;
27
71
  export { DateRangePicker };
@@ -29,4 +29,11 @@ declare function DropdownMenuShortcut({ className, ...props }: React.HTMLAttribu
29
29
  declare namespace DropdownMenuShortcut {
30
30
  var displayName: string;
31
31
  }
32
- export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuPortal, };
32
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<Omit<import('@base-ui/react').ContextMenuCheckboxItemProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
33
+ declare const DropdownMenuRadioGroup: React.NamedExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<Omit<import('@base-ui/react').ContextMenuRadioItemProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
35
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
36
+ inset?: boolean;
37
+ } & React.RefAttributes<HTMLDivElement>>;
38
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
39
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuPortal, };
@@ -1 +1 @@
1
- export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuPortal, type DropdownMenuContentProps, } from './dropdown-menu';
1
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuPortal, type DropdownMenuContentProps, } from './dropdown-menu';
@@ -0,0 +1,11 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import * as React from 'react';
3
+ export interface FilterCardsProps extends React.ComponentPropsWithoutRef<'div'> {
4
+ /**
5
+ * Replace the rendered `<div>` with another element or component
6
+ * (Base UI composition).
7
+ */
8
+ render?: useRender.RenderProp;
9
+ }
10
+ declare const FilterCards: React.ForwardRefExoticComponent<FilterCardsProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { FilterCards };
@@ -0,0 +1 @@
1
+ export { FilterCards, type FilterCardsProps } from './filter-cards';
@@ -0,0 +1,25 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import * as React from 'react';
3
+ export interface FilterChipsProps extends React.ComponentPropsWithoutRef<'div'> {
4
+ /**
5
+ * Replace the rendered `<div>` with another element or component
6
+ * (Base UI composition). Accepts a React element or a render function.
7
+ */
8
+ render?: useRender.RenderProp;
9
+ /** Accessible name for the applied-filter region. */
10
+ ariaLabel?: string;
11
+ }
12
+ declare const FilterChips: React.ForwardRefExoticComponent<FilterChipsProps & React.RefAttributes<HTMLDivElement>>;
13
+ export type FilterChipsListProps = React.ComponentPropsWithoutRef<'div'>;
14
+ declare const FilterChipsList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ export interface FilterChipsResetProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
16
+ /**
17
+ * Replace the rendered `<button>` with another element or component
18
+ * (Base UI composition). Accepts a React element or a render function.
19
+ */
20
+ render?: useRender.RenderProp;
21
+ /** Label for the reset action. */
22
+ children?: React.ReactNode;
23
+ }
24
+ declare const FilterChipsReset: React.ForwardRefExoticComponent<FilterChipsResetProps & React.RefAttributes<HTMLButtonElement>>;
25
+ export { FilterChips, FilterChipsList, FilterChipsReset };
@@ -0,0 +1 @@
1
+ export { FilterChips, FilterChipsList, FilterChipsReset, type FilterChipsProps, type FilterChipsListProps, type FilterChipsResetProps, } from './filter-chips';
@@ -1,3 +1,5 @@
1
+ import { FilterChipsProps } from '../filter-chips';
2
+ import { PopoverContent } from '../popover';
1
3
  import * as React from 'react';
2
4
  export type FilterSearchProps = React.ComponentPropsWithoutRef<'div'>;
3
5
  declare const FilterSearch: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -25,6 +27,12 @@ export interface FilterSearchFiltersProps extends Omit<React.ComponentPropsWitho
25
27
  onApply?: (filters: Record<string, unknown>) => void;
26
28
  /** Label for the filter trigger button. */
27
29
  label?: React.ReactNode;
30
+ /** Label for the "Reset filters" action inside the popover. */
31
+ resetFiltersLabel?: React.ReactNode;
32
+ /** Label for the "Cancel" action inside the popover. */
33
+ cancelLabel?: React.ReactNode;
34
+ /** Label for the "Apply" action inside the popover. */
35
+ applyLabel?: React.ReactNode;
28
36
  /**
29
37
  * Filter field children rendered inside the popover form. Plain children —
30
38
  * wire each field to the draft via `useFilterSearchFilters`. Group fields with
@@ -33,15 +41,45 @@ export interface FilterSearchFiltersProps extends Omit<React.ComponentPropsWitho
33
41
  children?: React.ReactNode;
34
42
  /** Additional classes merged onto the trigger button. */
35
43
  className?: string;
44
+ /** Additional classes merged onto the popover content. */
45
+ contentClassName?: string;
46
+ /** Which side of the trigger to render the popover on. Defaults to `'bottom'`. */
47
+ side?: React.ComponentProps<typeof PopoverContent>['side'];
48
+ /** Alignment of the popover along the chosen side. Defaults to `'start'`. */
49
+ align?: React.ComponentProps<typeof PopoverContent>['align'];
50
+ /** Distance in px between the trigger and the popover. */
51
+ sideOffset?: React.ComponentProps<typeof PopoverContent>['sideOffset'];
52
+ /**
53
+ * Portal container the popover mounts into. Defaults to the nearest
54
+ * `PortalContainerProvider`, or `document.body` if none is set — see
55
+ * `PopoverContent`'s `portalContainer` prop.
56
+ */
57
+ portalContainer?: React.ComponentProps<typeof PopoverContent>['portalContainer'];
58
+ /**
59
+ * Element/rect the popover is confined to when avoiding collisions. See
60
+ * `PopoverContent`'s `collisionBoundary` prop for the default behavior
61
+ * inside a constrained portal container.
62
+ */
63
+ collisionBoundary?: React.ComponentProps<typeof PopoverContent>['collisionBoundary'];
64
+ /**
65
+ * Which CSS `position` the popover uses. See `PopoverContent`'s
66
+ * `positionMethod` prop for the default behavior inside a constrained
67
+ * portal container.
68
+ */
69
+ positionMethod?: React.ComponentProps<typeof PopoverContent>['positionMethod'];
36
70
  }
37
71
  declare const FilterSearchFilters: React.ForwardRefExoticComponent<FilterSearchFiltersProps & React.RefAttributes<HTMLButtonElement>>;
38
- export interface FilterSearchAppliedFiltersProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {
72
+ export interface FilterSearchAppliedFiltersProps extends Omit<FilterChipsProps, 'children'> {
39
73
  /** The currently applied filter values, keyed by an arbitrary consumer-chosen id. */
40
74
  filters: Record<string, unknown>;
41
75
  /** Called with the remaining filters when a chip is removed or "Reset filters" clears all. */
42
76
  onValueChange: (next: Record<string, unknown>) => void;
43
77
  /** Format an applied-filter chip's label. Defaults to `"<key>: <value>"`. */
44
78
  getFilterChipLabel?: (key: string, value: unknown) => React.ReactNode;
79
+ /** Format a filter chip's remove-button accessible label. Defaults to `"Remove <key> filter"`. */
80
+ getRemoveFilterLabel?: (key: string) => string;
81
+ /** Label for the "Reset filters" action. */
82
+ resetFiltersLabel?: React.ReactNode;
45
83
  }
46
84
  /**
47
85
  * Renders one removable chip per applied filter plus a "Reset filters" action