@acronis-platform/ui-react 0.62.0 → 2.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 (237) hide show
  1. package/dist/components/ui/alert/alert.js +118 -60
  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.js.map +1 -1
  8. package/dist/components/ui/checkbox/checkbox.js +1 -1
  9. package/dist/components/ui/checkbox/checkbox.js.map +1 -1
  10. package/dist/components/ui/chip/chip.js +33 -33
  11. package/dist/components/ui/chip/chip.js.map +1 -1
  12. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js +38 -0
  13. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js.map +1 -0
  14. package/dist/components/ui/data-table/data-table-column-header.js +23 -20
  15. package/dist/components/ui/data-table/data-table-column-header.js.map +1 -1
  16. package/dist/components/ui/data-table/data-table-expand-trigger.js +23 -15
  17. package/dist/components/ui/data-table/data-table-expand-trigger.js.map +1 -1
  18. package/dist/components/ui/data-table/data-table-pagination.js +29 -28
  19. package/dist/components/ui/data-table/data-table-pagination.js.map +1 -1
  20. package/dist/components/ui/data-table/data-table-selection.js +7 -0
  21. package/dist/components/ui/data-table/data-table-selection.js.map +1 -0
  22. package/dist/components/ui/data-table/data-table-toolbar.js +21 -23
  23. package/dist/components/ui/data-table/data-table-toolbar.js.map +1 -1
  24. package/dist/components/ui/data-table/data-table-view-options.js +12 -10
  25. package/dist/components/ui/data-table/data-table-view-options.js.map +1 -1
  26. package/dist/components/ui/data-table/data-table.js +347 -183
  27. package/dist/components/ui/data-table/data-table.js.map +1 -1
  28. package/dist/components/ui/date-range-picker/date-range-picker-utils.js +11 -23
  29. package/dist/components/ui/date-range-picker/date-range-picker-utils.js.map +1 -1
  30. package/dist/components/ui/date-range-picker/date-range-picker.js +94 -134
  31. package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
  32. package/dist/components/ui/dropdown-menu/dropdown-menu.js +129 -72
  33. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  34. package/dist/components/ui/filter-chips/filter-chips.js +44 -0
  35. package/dist/components/ui/filter-chips/filter-chips.js.map +1 -0
  36. package/dist/components/ui/filter-search/filter-search.js +184 -138
  37. package/dist/components/ui/filter-search/filter-search.js.map +1 -1
  38. package/dist/components/ui/fitted-actions/fitted-actions.js +139 -0
  39. package/dist/components/ui/fitted-actions/fitted-actions.js.map +1 -0
  40. package/dist/components/ui/input-date-picker/input-date-picker.js +103 -93
  41. package/dist/components/ui/input-date-picker/input-date-picker.js.map +1 -1
  42. package/dist/components/ui/input-password/input-password.js +76 -66
  43. package/dist/components/ui/input-password/input-password.js.map +1 -1
  44. package/dist/components/ui/input-search/input-search.js +9 -9
  45. package/dist/components/ui/input-search/input-search.js.map +1 -1
  46. package/dist/components/ui/input-select/input-select.js +8 -8
  47. package/dist/components/ui/input-select/input-select.js.map +1 -1
  48. package/dist/components/ui/input-text/input-text.js +77 -66
  49. package/dist/components/ui/input-text/input-text.js.map +1 -1
  50. package/dist/components/ui/input-text-area/input-text-area.js +76 -66
  51. package/dist/components/ui/input-text-area/input-text-area.js.map +1 -1
  52. package/dist/components/ui/link/link.js +50 -35
  53. package/dist/components/ui/link/link.js.map +1 -1
  54. package/dist/components/ui/number-field/number-field.js +1 -1
  55. package/dist/components/ui/number-field/number-field.js.map +1 -1
  56. package/dist/components/ui/popover/popover.js +75 -56
  57. package/dist/components/ui/popover/popover.js.map +1 -1
  58. package/dist/components/ui/scroll-area/scroll-area.js +46 -30
  59. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
  60. package/dist/components/ui/stepper/stepper.js +70 -0
  61. package/dist/components/ui/stepper/stepper.js.map +1 -0
  62. package/dist/components/ui/stepper-item/stepper-item.js +97 -0
  63. package/dist/components/ui/stepper-item/stepper-item.js.map +1 -0
  64. package/dist/components/ui/table/table-pagination.js +54 -47
  65. package/dist/components/ui/table/table-pagination.js.map +1 -1
  66. package/dist/components/ui/table/table-view-options.js +32 -19
  67. package/dist/components/ui/table/table-view-options.js.map +1 -1
  68. package/dist/components/ui/table/table.js +112 -63
  69. package/dist/components/ui/table/table.js.map +1 -1
  70. package/dist/components/ui/timeline/timeline.js +10 -10
  71. package/dist/components/ui/timeline/timeline.js.map +1 -1
  72. package/dist/components/ui/timer/timer.js +47 -0
  73. package/dist/components/ui/timer/timer.js.map +1 -0
  74. package/dist/components/ui/toast/toast.js +168 -61
  75. package/dist/components/ui/toast/toast.js.map +1 -1
  76. package/dist/components/ui/truncate-text/middle-truncate.js +20 -0
  77. package/dist/components/ui/truncate-text/middle-truncate.js.map +1 -0
  78. package/dist/components/ui/truncate-text/text-width.js +12 -0
  79. package/dist/components/ui/truncate-text/text-width.js.map +1 -0
  80. package/dist/components/ui/truncate-text/truncate-text.js +152 -0
  81. package/dist/components/ui/truncate-text/truncate-text.js.map +1 -0
  82. package/dist/index.js +516 -471
  83. package/dist/index.js.map +1 -1
  84. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js +5 -5
  85. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js.map +1 -1
  86. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js +3 -6
  87. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js.map +1 -1
  88. package/dist/react.js +516 -471
  89. package/dist/react.js.map +1 -1
  90. package/dist/src/components/ui/alert/alert.d.ts +34 -3
  91. package/dist/src/components/ui/alert/index.d.ts +2 -2
  92. package/dist/src/components/ui/button/button.d.ts +1 -1
  93. package/dist/src/components/ui/button-group/button-group.d.ts +38 -0
  94. package/dist/src/components/ui/button-group/index.d.ts +1 -0
  95. package/dist/src/components/ui/button-icon/button-icon.d.ts +1 -1
  96. package/dist/src/components/ui/button-icon-menu/button-icon-menu.d.ts +28 -0
  97. package/dist/src/components/ui/button-icon-menu/index.d.ts +1 -0
  98. package/dist/src/components/ui/button-menu/button-menu.d.ts +1 -1
  99. package/dist/src/components/ui/calendar-panel/calendar-panel.d.ts +2 -2
  100. package/dist/src/components/ui/chip/chip.d.ts +1 -1
  101. package/dist/src/components/ui/data-table/data-table-bulk-actions-bar.d.ts +26 -0
  102. package/dist/src/components/ui/data-table/data-table-column-header.d.ts +6 -1
  103. package/dist/src/components/ui/data-table/data-table-expand-trigger.d.ts +4 -0
  104. package/dist/src/components/ui/data-table/data-table-pagination.d.ts +15 -1
  105. package/dist/src/components/ui/data-table/data-table-selection.d.ts +11 -0
  106. package/dist/src/components/ui/data-table/data-table-view-options.d.ts +3 -2
  107. package/dist/src/components/ui/data-table/data-table.d.ts +88 -3
  108. package/dist/src/components/ui/data-table/data-table.docs.d.ts +61 -1
  109. package/dist/src/components/ui/data-table/index.d.ts +3 -1
  110. package/dist/src/components/ui/date-range-picker/date-range-picker-utils.d.ts +10 -16
  111. package/dist/src/components/ui/date-range-picker/date-range-picker.d.ts +46 -2
  112. package/dist/src/components/ui/dropdown-menu/dropdown-menu.d.ts +8 -1
  113. package/dist/src/components/ui/dropdown-menu/index.d.ts +1 -1
  114. package/dist/src/components/ui/filter-chips/filter-chips.d.ts +25 -0
  115. package/dist/src/components/ui/filter-chips/index.d.ts +1 -0
  116. package/dist/src/components/ui/filter-search/filter-search.d.ts +39 -1
  117. package/dist/src/components/ui/fitted-actions/fitted-actions.d.ts +50 -0
  118. package/dist/src/components/ui/fitted-actions/fitted-actions.docs.d.ts +45 -0
  119. package/dist/src/components/ui/fitted-actions/index.d.ts +1 -0
  120. package/dist/src/components/ui/link/index.d.ts +1 -1
  121. package/dist/src/components/ui/link/link.d.ts +22 -4
  122. package/dist/src/components/ui/metric/metric.d.ts +1 -1
  123. package/dist/src/components/ui/popover/popover.d.ts +30 -1
  124. package/dist/src/components/ui/popover/popover.docs.d.ts +27 -2
  125. package/dist/src/components/ui/scroll-area/scroll-area.d.ts +24 -0
  126. package/dist/src/components/ui/stepper/index.d.ts +1 -0
  127. package/dist/src/components/ui/stepper/stepper.d.ts +40 -0
  128. package/dist/src/components/ui/stepper-item/index.d.ts +1 -0
  129. package/dist/src/components/ui/stepper-item/stepper-item.d.ts +41 -0
  130. package/dist/src/components/ui/table/index.d.ts +1 -1
  131. package/dist/src/components/ui/table/table-pagination.d.ts +21 -0
  132. package/dist/src/components/ui/table/table-view-options.d.ts +9 -2
  133. package/dist/src/components/ui/table/table.d.ts +40 -1
  134. package/dist/src/components/ui/tag/tag.d.ts +1 -1
  135. package/dist/src/components/ui/timer/index.d.ts +1 -0
  136. package/dist/src/components/ui/timer/timer.d.ts +28 -0
  137. package/dist/src/components/ui/toast/index.d.ts +1 -1
  138. package/dist/src/components/ui/toast/toast.d.ts +51 -18
  139. package/dist/src/components/ui/toast/toast.docs.d.ts +4 -0
  140. package/dist/src/components/ui/trend-indicator/trend-indicator.d.ts +1 -1
  141. package/dist/src/components/ui/truncate-text/__tests__/middle-truncate.test.d.ts +1 -0
  142. package/dist/src/components/ui/truncate-text/index.d.ts +3 -0
  143. package/dist/src/components/ui/truncate-text/middle-truncate.d.ts +13 -0
  144. package/dist/src/components/ui/truncate-text/text-width.d.ts +11 -0
  145. package/dist/src/components/ui/truncate-text/truncate-text.d.ts +45 -0
  146. package/dist/src/components/ui/truncate-text/truncate-text.docs.d.ts +35 -0
  147. package/dist/src/index.d.ts +8 -0
  148. package/dist/ui-react.css +1 -1
  149. package/package.json +4 -4
  150. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDefaultOptions.js +0 -8
  151. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDefaultOptions.js.map +0 -1
  152. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISODay.js +0 -9
  153. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISODay.js.map +0 -1
  154. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Parser.js +0 -23
  155. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Parser.js.map +0 -1
  156. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Setter.js +0 -42
  157. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/Setter.js.map +0 -1
  158. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/constants.js +0 -50
  159. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/constants.js.map +0 -1
  160. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +0 -50
  161. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +0 -1
  162. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +0 -50
  163. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +0 -1
  164. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js +0 -62
  165. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +0 -1
  166. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +0 -52
  167. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +0 -1
  168. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js +0 -50
  169. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +0 -1
  170. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +0 -50
  171. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +0 -1
  172. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js +0 -34
  173. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +0 -1
  174. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +0 -22
  175. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +0 -1
  176. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +0 -23
  177. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +0 -1
  178. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +0 -33
  179. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +0 -1
  180. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +0 -33
  181. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +0 -1
  182. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +0 -34
  183. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +0 -1
  184. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +0 -34
  185. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +0 -1
  186. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +0 -106
  187. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +0 -1
  188. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +0 -49
  189. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +0 -1
  190. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +0 -49
  191. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +0 -1
  192. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +0 -50
  193. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +0 -1
  194. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +0 -41
  195. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +0 -1
  196. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +0 -81
  197. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +0 -1
  198. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +0 -49
  199. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +0 -1
  200. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +0 -70
  201. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +0 -1
  202. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +0 -33
  203. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +0 -1
  204. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +0 -78
  205. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +0 -1
  206. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +0 -76
  207. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +0 -1
  208. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +0 -33
  209. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +0 -1
  210. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +0 -81
  211. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +0 -1
  212. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +0 -78
  213. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +0 -1
  214. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +0 -76
  215. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +0 -1
  216. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +0 -23
  217. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +0 -1
  218. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +0 -23
  219. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +0 -1
  220. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js +0 -50
  221. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +0 -1
  222. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers.js +0 -68
  223. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/parsers.js.map +0 -1
  224. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/utils.js +0 -104
  225. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse/_lib/utils.js.map +0 -1
  226. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse.js +0 -86
  227. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/parse.js.map +0 -1
  228. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setDay.js +0 -12
  229. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setDay.js.map +0 -1
  230. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISODay.js +0 -11
  231. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISODay.js.map +0 -1
  232. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISOWeek.js +0 -10
  233. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setISOWeek.js.map +0 -1
  234. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setWeek.js +0 -10
  235. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setWeek.js.map +0 -1
  236. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/transpose.js +0 -18
  237. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/transpose.js.map +0 -1
@@ -1,60 +1,60 @@
1
- import { jsxs as p, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as h, jsx as r } from "react/jsx-runtime";
2
2
  import * as d from "react";
3
- import { TimesIcon as h } from "@acronis-platform/icons-react/stroke-mono";
4
- import { cva as g } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
5
- import { cn as m } from "../../../lib/utils.js";
6
- const f = g(
3
+ import { TimesSmallIcon as g } from "@acronis-platform/icons-react/stroke-mono";
4
+ import { cva as m } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
5
+ import { cn as f } from "../../../lib/utils.js";
6
+ const x = m(
7
7
  "inline-flex h-[var(--ui-chip-global-box-height)] min-w-[var(--ui-chip-global-box-width-min)] cursor-pointer items-center justify-center gap-[var(--ui-chip-global-box-gap)] rounded-[var(--ui-chip-global-border-radius)] border-[length:var(--ui-chip-global-border-width)] border-solid border-[var(--ui-chip-global-border-color-idle)] bg-[var(--ui-chip-global-box-color-idle)] px-[var(--ui-chip-global-box-padding-x)] text-sm leading-6 hover:border-[var(--ui-chip-global-border-color-hover)] hover:bg-[var(--ui-chip-global-box-color-hover)] [&_svg]:size-[var(--ui-chip-global-icon-size)] [&_svg]:shrink-0 [&_svg]:pointer-events-none [&_svg]:text-[var(--ui-chip-global-icon-color)]",
8
8
  {
9
9
  variants: {
10
10
  variant: {
11
11
  removable: "text-[var(--ui-chip-removable-label-color)] focus-within:outline-none focus-within:ring-[3px] focus-within:ring-[var(--ui-focus-primary)] active:border-[var(--ui-chip-global-border-color-active)] active:bg-[var(--ui-chip-global-box-color-active)]",
12
- selectable: "text-[var(--ui-chip-selectable-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] data-[selected=true]:border-[var(--ui-chip-global-border-color-active)] data-[selected=true]:bg-[var(--ui-chip-global-box-color-active)]"
12
+ selectable: "text-[var(--ui-chip-selectable-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] data-[selected=true]:border-[var(--ui-chip-global-border-color-active)] data-[selected=true]:bg-[var(--ui-chip-global-box-color-active)]",
13
+ operational: "ui-chip-operational-label-text-style text-[var(--ui-chip-operational-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] active:border-[var(--ui-chip-global-border-color-active)] active:bg-[var(--ui-chip-global-box-color-active)]"
13
14
  }
14
15
  },
15
16
  defaultVariants: {
16
17
  variant: "removable"
17
18
  }
18
19
  }
19
- ), x = d.forwardRef(
20
+ ), y = d.forwardRef(
20
21
  ({
21
- className: c,
22
+ className: t,
22
23
  variant: e = "removable",
23
- icon: t,
24
+ icon: b,
24
25
  selected: a,
25
- onRemove: b,
26
- removeLabel: s = "Remove",
27
- children: n,
28
- onKeyDown: i,
29
- ...u
30
- }, v) => {
31
- const l = e === "selectable";
32
- return /* @__PURE__ */ p(
26
+ onRemove: s,
27
+ removeLabel: n = "Remove",
28
+ children: u,
29
+ onKeyDown: o,
30
+ ...v
31
+ }, p) => {
32
+ const l = e === "selectable", c = l || e === "operational";
33
+ return /* @__PURE__ */ h(
33
34
  "div",
34
35
  {
35
- ref: v,
36
- className: m(f({ variant: e }), c),
37
- onKeyDown: (r) => {
38
- l && (r.key === "Enter" || r.key === " ") && (r.preventDefault(), r.currentTarget.click()), i == null || i(r);
36
+ ref: p,
37
+ className: f(x({ variant: e }), t),
38
+ onKeyDown: (i) => {
39
+ c && (i.key === "Enter" || i.key === " ") && (i.preventDefault(), i.currentTarget.click()), o == null || o(i);
39
40
  },
41
+ ...c ? { role: "button", tabIndex: 0 } : {},
40
42
  ...l ? {
41
- role: "button",
42
- tabIndex: 0,
43
43
  "aria-pressed": !!a,
44
44
  "data-selected": a ? "true" : void 0
45
45
  } : {},
46
- ...u,
46
+ ...v,
47
47
  children: [
48
- t,
49
- /* @__PURE__ */ o("span", { className: "min-w-0 truncate", children: n }),
50
- e === "removable" && /* @__PURE__ */ o(
48
+ b,
49
+ /* @__PURE__ */ r("span", { className: "min-w-0 truncate", children: u }),
50
+ e === "removable" && /* @__PURE__ */ r(
51
51
  "button",
52
52
  {
53
53
  type: "button",
54
- "aria-label": s,
55
- onClick: b,
54
+ "aria-label": n,
55
+ onClick: s,
56
56
  className: "-me-1 flex shrink-0 cursor-pointer items-center justify-center rounded-full outline-none focus-visible:outline-none",
57
- children: /* @__PURE__ */ o(h, {})
57
+ children: /* @__PURE__ */ r(g, { size: 16 })
58
58
  }
59
59
  )
60
60
  ]
@@ -62,9 +62,9 @@ const f = g(
62
62
  );
63
63
  }
64
64
  );
65
- x.displayName = "Chip";
65
+ y.displayName = "Chip";
66
66
  export {
67
- x as Chip,
68
- f as chipVariants
67
+ y as Chip,
68
+ x as chipVariants
69
69
  };
70
70
  //# sourceMappingURL=chip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sources":["../../../../src/components/ui/chip/chip.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TimesIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\n// A compact, interactive label. `variant` mirrors the Figma \"Chip\" `type`:\n// `removable` carries a trailing × (remove) button; `selectable` toggles a\n// selected state. The container fill/border/label/icon all wire to the dedicated\n// `--ui-chip-*` tier from @acronis-platform/tokens-pd; geometry (height, gap,\n// padding, min-width, radius, border width, icon size) is tokenized too.\n// The Figma `state` enum (idle / hover / active / focused) maps to interaction\n// states, not props: `hover:` → the hover tokens, `:focus`/`focus-visible` → the\n// 3px `--ui-focus-primary` ring, and the `active` look is the pressed state for\n// `removable` (`active:`) and the selected state for `selectable`\n// (`data-[selected]`, driven by the `selected` prop).\nconst chipVariants = cva(\n \"inline-flex h-[var(--ui-chip-global-box-height)] min-w-[var(--ui-chip-global-box-width-min)] cursor-pointer items-center justify-center gap-[var(--ui-chip-global-box-gap)] rounded-[var(--ui-chip-global-border-radius)] border-[length:var(--ui-chip-global-border-width)] border-solid border-[var(--ui-chip-global-border-color-idle)] bg-[var(--ui-chip-global-box-color-idle)] px-[var(--ui-chip-global-box-padding-x)] text-sm leading-6 hover:border-[var(--ui-chip-global-border-color-hover)] hover:bg-[var(--ui-chip-global-box-color-hover)] [&_svg]:size-[var(--ui-chip-global-icon-size)] [&_svg]:shrink-0 [&_svg]:pointer-events-none [&_svg]:text-[var(--ui-chip-global-icon-color)]\",\n {\n variants: {\n variant: {\n removable:\n 'text-[var(--ui-chip-removable-label-color)] focus-within:outline-none focus-within:ring-[3px] focus-within:ring-[var(--ui-focus-primary)] active:border-[var(--ui-chip-global-border-color-active)] active:bg-[var(--ui-chip-global-box-color-active)]',\n selectable:\n 'text-[var(--ui-chip-selectable-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] data-[selected=true]:border-[var(--ui-chip-global-border-color-active)] data-[selected=true]:bg-[var(--ui-chip-global-box-color-active)]',\n },\n },\n defaultVariants: {\n variant: 'removable',\n },\n }\n);\n\nexport interface ChipProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {\n /** Optional leading icon, rendered at 16px before the label. */\n icon?: React.ReactNode;\n /**\n * `selectable` only — applies the selected (active) styling and exposes the\n * chip as a pressed toggle (`role=\"button\"` + `aria-pressed`).\n */\n selected?: boolean;\n /** `removable` only — called when the trailing remove (×) button is pressed. */\n onRemove?: () => void;\n /** Accessible label for the remove button (`removable`). */\n removeLabel?: string;\n}\n\nconst Chip = React.forwardRef<HTMLDivElement, ChipProps>(\n (\n {\n className,\n variant = 'removable',\n icon,\n selected,\n onRemove,\n removeLabel = 'Remove',\n children,\n onKeyDown,\n ...props\n },\n ref\n ) => {\n const selectable = variant === 'selectable';\n return (\n <div\n ref={ref}\n className={cn(chipVariants({ variant }), className)}\n onKeyDown={(event) => {\n // The selectable chip is a div with button semantics; mirror native\n // button activation so Enter/Space fire its click handler.\n if (selectable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n event.currentTarget.click();\n }\n onKeyDown?.(event);\n }}\n {...(selectable\n ? {\n role: 'button',\n tabIndex: 0,\n 'aria-pressed': Boolean(selected),\n 'data-selected': selected ? 'true' : undefined,\n }\n : {})}\n {...props}\n >\n {icon}\n <span className=\"min-w-0 truncate\">{children}</span>\n {variant === 'removable' && (\n <button\n type=\"button\"\n aria-label={removeLabel}\n onClick={onRemove}\n className=\"-me-1 flex shrink-0 cursor-pointer items-center justify-center rounded-full outline-none focus-visible:outline-none\"\n >\n <TimesIcon />\n </button>\n )}\n </div>\n );\n }\n);\nChip.displayName = 'Chip';\n\nexport { Chip, chipVariants };\n"],"names":["chipVariants","cva","Chip","React","className","variant","icon","selected","onRemove","removeLabel","children","onKeyDown","props","ref","selectable","jsxs","cn","event","jsx","TimesIcon"],"mappings":";;;;;AAgBA,MAAMA,IAAeC;AAAA,EACnB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,WACE;AAAA,QACF,YACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAmBMC,IAAOC,EAAM;AAAA,EACjB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAaT,MAAY;AAC/B,WACE,gBAAAU;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAWG,EAAGhB,EAAa,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS;AAAA,QAClD,WAAW,CAACa,MAAU;AAGpB,UAAIH,MAAeG,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACxDA,EAAM,eAAA,GACNA,EAAM,cAAc,MAAA,IAEtBN,KAAA,QAAAA,EAAYM;AAAA,QACd;AAAA,QACC,GAAIH,IACD;AAAA,UACE,MAAM;AAAA,UACN,UAAU;AAAA,UACV,gBAAgB,EAAQP;AAAA,UACxB,iBAAiBA,IAAW,SAAS;AAAA,QAAA,IAEvC,CAAA;AAAA,QACH,GAAGK;AAAA,QAEH,UAAA;AAAA,UAAAN;AAAA,UACD,gBAAAY,EAAC,QAAA,EAAK,WAAU,oBAAoB,UAAAR,EAAA,CAAS;AAAA,UAC5CL,MAAY,eACX,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,cAAYT;AAAA,cACZ,SAASD;AAAA,cACT,WAAU;AAAA,cAEV,4BAACW,GAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AACAjB,EAAK,cAAc;"}
1
+ {"version":3,"file":"chip.js","sources":["../../../../src/components/ui/chip/chip.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TimesSmallIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\n// A compact, interactive label. `variant` mirrors the Figma \"Chip\" `type`:\n// `removable` (Figma `dismissable`) carries a trailing × (remove) button;\n// `selectable` toggles a selected state; `operational` is a plain action chip\n// whose label is styled like a strong link (the semibold weight comes from\n// tokens-pd's generated `ui-chip-operational-label-text-style` class).\n// The container fill/border/label/icon all wire to the dedicated\n// `--ui-chip-*` tier from @acronis-platform/tokens-pd; geometry (height, gap,\n// padding, min-width, radius, border width, icon size) is tokenized too.\n// The Figma `state` enum (idle / hover / active / focused) maps to interaction\n// states, not props: `hover:` → the hover tokens, `:focus`/`focus-visible` → the\n// 3px `--ui-focus-primary` ring, and the `active` look is the pressed state for\n// `removable`/`operational` (`active:`) and the selected state for `selectable`\n// (`data-[selected]`, driven by the `selected` prop).\n//\n// Figma's `_global/box/marginY` (4px) is deliberately NOT wired: its frame sits\n// at y=-4 with height 32 around the 24px box, i.e. it bleeds *outside* the\n// component's 24px footprint to give the focus ring room on the canvas. A CSS\n// `ring` already paints outside the border box without affecting layout, so\n// translating it to a real margin would wrongly add 8px to every chip.\nconst chipVariants = cva(\n \"inline-flex h-[var(--ui-chip-global-box-height)] min-w-[var(--ui-chip-global-box-width-min)] cursor-pointer items-center justify-center gap-[var(--ui-chip-global-box-gap)] rounded-[var(--ui-chip-global-border-radius)] border-[length:var(--ui-chip-global-border-width)] border-solid border-[var(--ui-chip-global-border-color-idle)] bg-[var(--ui-chip-global-box-color-idle)] px-[var(--ui-chip-global-box-padding-x)] text-sm leading-6 hover:border-[var(--ui-chip-global-border-color-hover)] hover:bg-[var(--ui-chip-global-box-color-hover)] [&_svg]:size-[var(--ui-chip-global-icon-size)] [&_svg]:shrink-0 [&_svg]:pointer-events-none [&_svg]:text-[var(--ui-chip-global-icon-color)]\",\n {\n variants: {\n variant: {\n removable:\n 'text-[var(--ui-chip-removable-label-color)] focus-within:outline-none focus-within:ring-[3px] focus-within:ring-[var(--ui-focus-primary)] active:border-[var(--ui-chip-global-border-color-active)] active:bg-[var(--ui-chip-global-box-color-active)]',\n selectable:\n 'text-[var(--ui-chip-selectable-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] data-[selected=true]:border-[var(--ui-chip-global-border-color-active)] data-[selected=true]:bg-[var(--ui-chip-global-box-color-active)]',\n operational:\n 'ui-chip-operational-label-text-style text-[var(--ui-chip-operational-label-color)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] active:border-[var(--ui-chip-global-border-color-active)] active:bg-[var(--ui-chip-global-box-color-active)]',\n },\n },\n defaultVariants: {\n variant: 'removable',\n },\n }\n);\n\nexport interface ChipProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {\n /** Optional leading icon, rendered at 16px before the label. */\n icon?: React.ReactNode;\n /**\n * `selectable` only — applies the selected (active) styling and exposes the\n * chip as a pressed toggle (`role=\"button\"` + `aria-pressed`).\n */\n selected?: boolean;\n /** `removable` only — called when the trailing remove (×) button is pressed. */\n onRemove?: () => void;\n /** Accessible label for the remove button (`removable`). */\n removeLabel?: string;\n}\n\nconst Chip = React.forwardRef<HTMLDivElement, ChipProps>(\n (\n {\n className,\n variant = 'removable',\n icon,\n selected,\n onRemove,\n removeLabel = 'Remove',\n children,\n onKeyDown,\n ...props\n },\n ref\n ) => {\n const selectable = variant === 'selectable';\n // `selectable` and `operational` put the action on the chip itself, so the\n // container carries button semantics. `removable` keeps a presentational\n // container — its only control is the trailing × button.\n const actionable = selectable || variant === 'operational';\n return (\n <div\n ref={ref}\n className={cn(chipVariants({ variant }), className)}\n onKeyDown={(event) => {\n // An actionable chip is a div with button semantics; mirror native\n // button activation so Enter/Space fire its click handler.\n if (actionable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n event.currentTarget.click();\n }\n onKeyDown?.(event);\n }}\n {...(actionable ? { role: 'button', tabIndex: 0 } : {})}\n {...(selectable\n ? {\n 'aria-pressed': Boolean(selected),\n 'data-selected': selected ? 'true' : undefined,\n }\n : {})}\n {...props}\n >\n {icon}\n <span className=\"min-w-0 truncate\">{children}</span>\n {variant === 'removable' && (\n <button\n type=\"button\"\n aria-label={removeLabel}\n onClick={onRemove}\n className=\"-me-1 flex shrink-0 cursor-pointer items-center justify-center rounded-full outline-none focus-visible:outline-none\"\n >\n {/* `TimesSmall` (not `Times`) at size 16 is what the design uses:\n its × mark spans ~52% of the 16px box, where `Times` spans ~85%.\n `size={16}` also picks the 16px stroke spec (2.4 viewBox units →\n the design's 1.6px), instead of scaling the 24px master down. */}\n <TimesSmallIcon size={16} />\n </button>\n )}\n </div>\n );\n }\n);\nChip.displayName = 'Chip';\n\nexport { Chip, chipVariants };\n"],"names":["chipVariants","cva","Chip","React","className","variant","icon","selected","onRemove","removeLabel","children","onKeyDown","props","ref","selectable","actionable","jsxs","cn","event","jsx","TimesSmallIcon"],"mappings":";;;;;AAyBA,MAAMA,IAAeC;AAAA,EACnB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,WACE;AAAA,QACF,YACE;AAAA,QACF,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAmBMC,IAAOC,EAAM;AAAA,EACjB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAaT,MAAY,cAIzBU,IAAaD,KAAcT,MAAY;AAC7C,WACE,gBAAAW;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI,EAAGjB,EAAa,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS;AAAA,QAClD,WAAW,CAACc,MAAU;AAGpB,UAAIH,MAAeG,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACxDA,EAAM,eAAA,GACNA,EAAM,cAAc,MAAA,IAEtBP,KAAA,QAAAA,EAAYO;AAAA,QACd;AAAA,QACC,GAAIH,IAAa,EAAE,MAAM,UAAU,UAAU,EAAA,IAAM,CAAA;AAAA,QACnD,GAAID,IACD;AAAA,UACE,gBAAgB,EAAQP;AAAA,UACxB,iBAAiBA,IAAW,SAAS;AAAA,QAAA,IAEvC,CAAA;AAAA,QACH,GAAGK;AAAA,QAEH,UAAA;AAAA,UAAAN;AAAA,UACD,gBAAAa,EAAC,QAAA,EAAK,WAAU,oBAAoB,UAAAT,EAAA,CAAS;AAAA,UAC5CL,MAAY,eACX,gBAAAc;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,cAAYV;AAAA,cACZ,SAASD;AAAA,cACT,WAAU;AAAA,cAMV,UAAA,gBAAAW,EAACC,GAAA,EAAe,MAAM,GAAA,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC5B;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AACAlB,EAAK,cAAc;"}
@@ -0,0 +1,38 @@
1
+ import { jsxs as n, jsx as e, Fragment as a } from "react/jsx-runtime";
2
+ import { isBulkSelectionActive as m } from "./data-table-selection.js";
3
+ import { Button as d } from "../button/button.js";
4
+ function x({
5
+ table: s,
6
+ children: r,
7
+ selectedLabel: l = (t) => `${t} item${t === 1 ? "" : "s"} selected:`,
8
+ clearLabel: o = "Deselect",
9
+ loadedLabel: i
10
+ }) {
11
+ const t = s.getSelectedRowModel().rows.length, c = m(s);
12
+ return /* @__PURE__ */ n("div", { className: "flex items-center gap-4", children: [
13
+ /* @__PURE__ */ e(
14
+ "fieldset",
15
+ {
16
+ disabled: !c,
17
+ className: "m-0 flex min-w-0 items-center gap-4 border-0 p-0",
18
+ children: r
19
+ }
20
+ ),
21
+ /* @__PURE__ */ e("div", { className: "ms-auto flex items-center gap-2", children: c ? /* @__PURE__ */ n(a, { children: [
22
+ /* @__PURE__ */ e("span", { className: "text-sm", children: l(t) }),
23
+ /* @__PURE__ */ e(
24
+ d,
25
+ {
26
+ variant: "ghost",
27
+ className: "h-8",
28
+ onClick: () => s.resetRowSelection(),
29
+ children: o
30
+ }
31
+ )
32
+ ] }) : i !== void 0 && /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground", children: i }) })
33
+ ] });
34
+ }
35
+ export {
36
+ x as DataTableBulkActionsBar
37
+ };
38
+ //# sourceMappingURL=data-table-bulk-actions-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-bulk-actions-bar.js","sources":["../../../../src/components/ui/data-table/data-table-bulk-actions-bar.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { Table } from '@tanstack/react-table';\n\nimport { Button } from '../button';\nimport { isBulkSelectionActive } from './data-table-selection';\n\ninterface DataTableBulkActionsBarProps<TData> {\n table: Table<TData>;\n /**\n * Bulk actions offered for the current selection — rendered leading, ahead\n * of the trailing summary/Deselect control. Wrapped in a native `<fieldset\n * disabled>` while nothing is selected, so every nested control (a `Button`\n * renders a plain `<button>`) picks up the disabled state and styling for\n * free — no per-action wiring needed. Each action reads the selection off\n * the same `table` instance (`table.getSelectedRowModel().rows`).\n */\n children?: ReactNode;\n /** Builds the trailing selection summary from the selected-row count. */\n selectedLabel?: (count: number) => string;\n /** Label of the trailing control that clears the selection. */\n clearLabel?: string;\n /**\n * Trailing summary shown in place of the selection summary while nothing is\n * selected — e.g. `\"25 of 1250 items loaded\"`. Omit to render nothing in\n * that state.\n */\n loadedLabel?: ReactNode;\n}\n\n// Thin TanStack adapter: reads the selected-row count off\n// `table.getSelectedRowModel()` and routes Deselect back through\n// `table.resetRowSelection()`. It owns no state of its own.\n//\n// Always mounted (unlike a bar that appears/disappears with selection) — it\n// just toggles between two states (Figma 5916-11286 disabled / 5916-11991\n// enabled), on the same `isBulkSelectionActive` threshold that hides the\n// per-row actions column: with nothing selected, the leading actions are\n// disabled and the trailing side shows `loadedLabel`; once at least one row\n// is selected — including exactly one — the actions enable and the trailing\n// side switches to the selection summary + Deselect.\nexport function DataTableBulkActionsBar<TData>({\n table,\n children,\n selectedLabel = (count) => `${count} item${count === 1 ? '' : 's'} selected:`,\n clearLabel = 'Deselect',\n loadedLabel,\n}: DataTableBulkActionsBarProps<TData>) {\n const selectedCount = table.getSelectedRowModel().rows.length;\n const hasSelection = isBulkSelectionActive(table);\n\n return (\n <div className=\"flex items-center gap-4\">\n <fieldset\n disabled={!hasSelection}\n className=\"m-0 flex min-w-0 items-center gap-4 border-0 p-0\"\n >\n {children}\n </fieldset>\n <div className=\"ms-auto flex items-center gap-2\">\n {hasSelection ? (\n <>\n <span className=\"text-sm\">{selectedLabel(selectedCount)}</span>\n <Button\n variant=\"ghost\"\n className=\"h-8\"\n onClick={() => table.resetRowSelection()}\n >\n {clearLabel}\n </Button>\n </>\n ) : (\n loadedLabel !== undefined && (\n <span className=\"text-sm text-muted-foreground\">{loadedLabel}</span>\n )\n )}\n </div>\n </div>\n );\n}\n"],"names":["DataTableBulkActionsBar","table","children","selectedLabel","count","clearLabel","loadedLabel","selectedCount","hasSelection","isBulkSelectionActive","jsxs","jsx","Fragment","Button"],"mappings":";;;AAwCO,SAASA,EAA+B;AAAA,EAC7C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB,CAACC,MAAU,GAAGA,CAAK,QAAQA,MAAU,IAAI,KAAK,GAAG;AAAA,EACjE,YAAAC,IAAa;AAAA,EACb,aAAAC;AACF,GAAwC;AACtC,QAAMC,IAAgBN,EAAM,oBAAA,EAAsB,KAAK,QACjDO,IAAeC,EAAsBR,CAAK;AAEhD,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,CAACH;AAAA,QACX,WAAU;AAAA,QAET,UAAAN;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAS,EAAC,OAAA,EAAI,WAAU,mCACZ,cACC,gBAAAD,EAAAE,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,WAAW,UAAAR,EAAcI,CAAa,GAAE;AAAA,MACxD,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,WAAU;AAAA,UACV,SAAS,MAAMZ,EAAM,kBAAA;AAAA,UAEpB,UAAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EAAA,CACF,IAEAC,MAAgB,UACd,gBAAAK,EAAC,UAAK,WAAU,iCAAiC,aAAY,EAAA,CAGnE;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,36 +1,39 @@
1
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
- import { ArrowUpIcon as c, ArrowDownIcon as l, ArrowsDownUpIcon as u } from "@acronis-platform/icons-react/stroke-mono";
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
+ import { ArrowUpIcon as l, ArrowDownIcon as u, ArrowsDownUpIcon as d } from "@acronis-platform/icons-react/stroke-mono";
3
3
  import { cn as s } from "../../../lib/utils.js";
4
- function m({
5
- column: r,
6
- title: o,
7
- className: t,
8
- ...a
4
+ function p({
5
+ column: o,
6
+ title: t,
7
+ sortLabel: a = (r) => `Sort by ${r}`,
8
+ className: i,
9
+ ...n
9
10
  }) {
10
- if (!r.getCanSort())
11
- return /* @__PURE__ */ e("div", { className: s(t), children: o });
12
- const i = r.getIsSorted();
13
- return /* @__PURE__ */ n(
11
+ if (!o.getCanSort())
12
+ return /* @__PURE__ */ e("div", { className: s(i), children: t });
13
+ const r = o.getIsSorted();
14
+ return /* @__PURE__ */ c(
14
15
  "button",
15
16
  {
16
17
  type: "button",
17
- onClick: () => r.toggleSorting(),
18
- "aria-label": `Sort by ${o}`,
18
+ onClick: () => o.toggleSorting(),
19
+ "aria-label": a(t),
19
20
  className: s(
20
21
  // -ms-2 px-2 keeps the label flush at the cell padding while giving the
21
- // toggle a comfortable click/hover target.
22
- "-ms-2 inline-flex h-8 cursor-pointer select-none items-center gap-2 rounded px-2 text-sm font-semibold transition-colors hover:bg-[var(--ui-table-header-cell-color-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-[var(--ui-table-header-sort-icon-size)] [&_svg]:shrink-0",
23
- t
22
+ // toggle a comfortable click target; the hover/press tint lives on the
23
+ // `<th>` itself (see data-table.tsx), not this inner button, and uses
24
+ // the kit-wide 3px focus ring (Figma stroke/width-3 + radius/radius-4).
25
+ "-ms-2 inline-flex h-8 cursor-pointer select-none items-center gap-[var(--ui-table-header-gap)] rounded-sm px-2 text-sm font-semibold focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-[var(--ui-table-header-sort-icon-size)] [&_svg]:shrink-0",
26
+ i
24
27
  ),
25
- ...a,
28
+ ...n,
26
29
  children: [
27
- /* @__PURE__ */ e("span", { children: o }),
28
- i === "asc" ? /* @__PURE__ */ e(c, { className: "text-[var(--ui-table-header-sort-icon-color-active)]" }) : i === "desc" ? /* @__PURE__ */ e(l, { className: "text-[var(--ui-table-header-sort-icon-color-active)]" }) : /* @__PURE__ */ e(u, { className: "text-[var(--ui-table-header-sort-icon-color-inactive)]" })
30
+ /* @__PURE__ */ e("span", { children: t }),
31
+ r === "asc" ? /* @__PURE__ */ e(l, { className: "text-[var(--ui-table-header-sort-icon-color-active)]" }) : r === "desc" ? /* @__PURE__ */ e(u, { className: "text-[var(--ui-table-header-sort-icon-color-active)]" }) : /* @__PURE__ */ e(d, { className: "text-[var(--ui-table-header-sort-icon-color-inactive)]" })
29
32
  ]
30
33
  }
31
34
  );
32
35
  }
33
36
  export {
34
- m as DataTableColumnHeader
37
+ p as DataTableColumnHeader
35
38
  };
36
39
  //# sourceMappingURL=data-table-column-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-column-header.js","sources":["../../../../src/components/ui/data-table/data-table-column-header.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Column } from '@tanstack/react-table';\nimport {\n ArrowDownIcon,\n ArrowsDownUpIcon,\n ArrowUpIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\n\nimport { cn } from '@/lib/utils';\n\ninterface DataTableColumnHeaderProps<TData, TValue>\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n column: Column<TData, TValue>;\n title: string;\n}\n\n// Single-click sortable column header — matches the Table primitive's sortable\n// `TableHead`: one click toggles the sort (ascending → descending → unsorted) via\n// TanStack's `column.toggleSorting()`. The trailing icon shows the state with the\n// same `--ui-table-header-sort-icon-*` tokens — an up arrow (ascending) or down\n// arrow (descending) in the active blue, or the muted up/down arrows when\n// unsorted. (Column hiding lives in the toolbar's `DataTableViewOptions`, not a\n// per-header menu, so sorting is a single click.)\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return <div className={cn(className)}>{title}</div>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <button\n type=\"button\"\n onClick={() => column.toggleSorting()}\n aria-label={`Sort by ${title}`}\n className={cn(\n // -ms-2 px-2 keeps the label flush at the cell padding while giving the\n // toggle a comfortable click/hover target.\n '-ms-2 inline-flex h-8 cursor-pointer select-none items-center gap-2 rounded px-2 text-sm font-semibold transition-colors hover:bg-[var(--ui-table-header-cell-color-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-[var(--ui-table-header-sort-icon-size)] [&_svg]:shrink-0',\n className\n )}\n {...props}\n >\n <span>{title}</span>\n {sorted === 'asc' ? (\n <ArrowUpIcon className=\"text-[var(--ui-table-header-sort-icon-color-active)]\" />\n ) : sorted === 'desc' ? (\n <ArrowDownIcon className=\"text-[var(--ui-table-header-sort-icon-color-active)]\" />\n ) : (\n <ArrowsDownUpIcon className=\"text-[var(--ui-table-header-sort-icon-color-inactive)]\" />\n )}\n </button>\n );\n}\n"],"names":["DataTableColumnHeader","column","title","className","props","cn","sorted","jsxs","jsx","ArrowUpIcon","ArrowDownIcon","ArrowsDownUpIcon"],"mappings":";;;AAuBO,SAASA,EAAqC;AAAA,EACnD,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GAA8C;AAC5C,MAAI,CAACH,EAAO;AACV,6BAAQ,OAAA,EAAI,WAAWI,EAAGF,CAAS,GAAI,UAAAD,GAAM;AAG/C,QAAMI,IAASL,EAAO,YAAA;AAEtB,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,MAAMN,EAAO,cAAA;AAAA,MACtB,cAAY,WAAWC,CAAK;AAAA,MAC5B,WAAWG;AAAA;AAAA;AAAA,QAGT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAI,EAAC,UAAM,UAAAN,EAAA,CAAM;AAAA,QACZI,MAAW,QACV,gBAAAE,EAACC,GAAA,EAAY,WAAU,wDAAuD,IAC5EH,MAAW,SACb,gBAAAE,EAACE,KAAc,WAAU,uDAAA,CAAuD,IAEhF,gBAAAF,EAACG,GAAA,EAAiB,WAAU,yDAAA,CAAyD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAI7F;"}
1
+ {"version":3,"file":"data-table-column-header.js","sources":["../../../../src/components/ui/data-table/data-table-column-header.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Column } from '@tanstack/react-table';\nimport {\n ArrowDownIcon,\n ArrowsDownUpIcon,\n ArrowUpIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\n\nimport { cn } from '@/lib/utils';\n\ninterface DataTableColumnHeaderProps<TData, TValue>\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n column: Column<TData, TValue>;\n title: string;\n /**\n * Builds the accessible label of the sort toggle from the column title.\n * Override to localize.\n */\n sortLabel?: (title: string) => string;\n}\n\n// Single-click sortable column header — matches the Table primitive's sortable\n// `TableHead`: one click toggles the sort (ascending → descending → unsorted) via\n// TanStack's `column.toggleSorting()`. The trailing icon shows the state with the\n// same `--ui-table-header-sort-icon-*` tokens — an up arrow (ascending) or down\n// arrow (descending) in the active blue, or the muted up/down arrows when\n// unsorted. (Column hiding lives behind the settings column's cog trigger —\n// `DataTableViewOptions` inside a `TableSettingsCell` — not a per-header menu,\n// so sorting is a single click.)\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n title,\n sortLabel = (t) => `Sort by ${t}`,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return <div className={cn(className)}>{title}</div>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <button\n type=\"button\"\n onClick={() => column.toggleSorting()}\n aria-label={sortLabel(title)}\n className={cn(\n // -ms-2 px-2 keeps the label flush at the cell padding while giving the\n // toggle a comfortable click target; the hover/press tint lives on the\n // `<th>` itself (see data-table.tsx), not this inner button, and uses\n // the kit-wide 3px focus ring (Figma stroke/width-3 + radius/radius-4).\n '-ms-2 inline-flex h-8 cursor-pointer select-none items-center gap-[var(--ui-table-header-gap)] rounded-sm px-2 text-sm font-semibold focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-[var(--ui-table-header-sort-icon-size)] [&_svg]:shrink-0',\n className\n )}\n {...props}\n >\n <span>{title}</span>\n {sorted === 'asc' ? (\n <ArrowUpIcon className=\"text-[var(--ui-table-header-sort-icon-color-active)]\" />\n ) : sorted === 'desc' ? (\n <ArrowDownIcon className=\"text-[var(--ui-table-header-sort-icon-color-active)]\" />\n ) : (\n <ArrowsDownUpIcon className=\"text-[var(--ui-table-header-sort-icon-color-inactive)]\" />\n )}\n </button>\n );\n}\n"],"names":["DataTableColumnHeader","column","title","sortLabel","t","className","props","cn","sorted","jsxs","jsx","ArrowUpIcon","ArrowDownIcon","ArrowsDownUpIcon"],"mappings":";;;AA6BO,SAASA,EAAqC;AAAA,EACnD,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY,CAACC,MAAM,WAAWA,CAAC;AAAA,EAC/B,WAAAC;AAAA,EACA,GAAGC;AACL,GAA8C;AAC5C,MAAI,CAACL,EAAO;AACV,6BAAQ,OAAA,EAAI,WAAWM,EAAGF,CAAS,GAAI,UAAAH,GAAM;AAG/C,QAAMM,IAASP,EAAO,YAAA;AAEtB,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,MAAMR,EAAO,cAAA;AAAA,MACtB,cAAYE,EAAUD,CAAK;AAAA,MAC3B,WAAWK;AAAA;AAAA;AAAA;AAAA;AAAA,QAKT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAI,EAAC,UAAM,UAAAR,EAAA,CAAM;AAAA,QACZM,MAAW,QACV,gBAAAE,EAACC,GAAA,EAAY,WAAU,wDAAuD,IAC5EH,MAAW,SACb,gBAAAE,EAACE,KAAc,WAAU,uDAAA,CAAuD,IAEhF,gBAAAF,EAACG,GAAA,EAAiB,WAAU,yDAAA,CAAyD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAI7F;"}
@@ -1,27 +1,35 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import * as l from "react";
3
- import { ChevronDownIcon as s } from "@acronis-platform/icons-react/stroke-mono";
4
- import { cn as o } from "../../../lib/utils.js";
5
- function c({ row: e, className: t, ...n }, i) {
2
+ import * as c from "react";
3
+ import { ChevronDownIcon as d } from "@acronis-platform/icons-react/stroke-mono";
4
+ import { cn as t } from "../../../lib/utils.js";
5
+ function p({
6
+ row: e,
7
+ collapseLabel: o = "Collapse row",
8
+ expandLabel: n = "Expand row",
9
+ className: i,
10
+ ...l
11
+ }, s) {
6
12
  if (!e.getCanExpand()) return null;
7
13
  const r = e.getIsExpanded();
8
14
  return /* @__PURE__ */ a(
9
15
  "button",
10
16
  {
11
- ref: i,
17
+ ref: s,
12
18
  type: "button",
13
19
  onClick: e.getToggleExpandedHandler(),
14
- "aria-label": r ? "Collapse row" : "Expand row",
20
+ "aria-label": r ? o : n,
15
21
  "aria-expanded": r,
16
- className: o(
17
- "inline-flex size-6 cursor-pointer items-center justify-center rounded text-[var(--ui-table-data-value-color-idle)] transition-colors hover:bg-[var(--ui-table-header-cell-color-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-4 [&_svg]:shrink-0",
18
- t
22
+ className: t(
23
+ // Lives in a data cell, so it tints from the data-cell tokens; the focus
24
+ // ring matches the kit-wide 3px treatment (Figma stroke/width-3).
25
+ "inline-flex size-6 cursor-pointer items-center justify-center rounded-sm text-[var(--ui-table-data-value-color-idle)] transition-colors hover:bg-[var(--ui-table-data-cell-color-hover)] active:bg-[var(--ui-table-data-cell-color-active)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-4 [&_svg]:shrink-0",
26
+ i
19
27
  ),
20
- ...n,
28
+ ...l,
21
29
  children: /* @__PURE__ */ a(
22
- s,
30
+ d,
23
31
  {
24
- className: o(
32
+ className: t(
25
33
  "transition-transform",
26
34
  !r && "ltr:-rotate-90 rtl:rotate-90"
27
35
  )
@@ -30,10 +38,10 @@ function c({ row: e, className: t, ...n }, i) {
30
38
  }
31
39
  );
32
40
  }
33
- const f = l.forwardRef(
34
- c
41
+ const m = c.forwardRef(
42
+ p
35
43
  );
36
44
  export {
37
- f as DataTableExpandTrigger
45
+ m as DataTableExpandTrigger
38
46
  };
39
47
  //# sourceMappingURL=data-table-expand-trigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-expand-trigger.js","sources":["../../../../src/components/ui/data-table/data-table-expand-trigger.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Row } from '@tanstack/react-table';\nimport { ChevronDownIcon } from '@acronis-platform/icons-react/stroke-mono';\n\nimport { cn } from '@/lib/utils';\n\ninterface DataTableExpandTriggerProps<TData>\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** The row this trigger toggles. */\n row: Row<TData>;\n}\n\n// A chevron toggle button wired to a row's expansion state, meant to live inside\n// a column's `cell` render function so the expand affordance sits in a real\n// column (like the Vue2 `type=\"expand\"` column) instead of requiring a\n// whole-row click. Reads the row's own `getCanExpand`/`getIsExpanded` and calls\n// `toggleExpanded()` — the underlying expand state model is unchanged. Renders\n// nothing when the row can't expand.\nfunction DataTableExpandTriggerImpl<TData>(\n { row, className, ...props }: DataTableExpandTriggerProps<TData>,\n ref: React.Ref<HTMLButtonElement>\n) {\n if (!row.getCanExpand()) return null;\n\n const expanded = row.getIsExpanded();\n\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={row.getToggleExpandedHandler()}\n aria-label={expanded ? 'Collapse row' : 'Expand row'}\n aria-expanded={expanded}\n className={cn(\n 'inline-flex size-6 cursor-pointer items-center justify-center rounded text-[var(--ui-table-data-value-color-idle)] transition-colors hover:bg-[var(--ui-table-header-cell-color-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-4 [&_svg]:shrink-0',\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n className={cn(\n 'transition-transform',\n !expanded && 'ltr:-rotate-90 rtl:rotate-90'\n )}\n />\n </button>\n );\n}\n\n// `forwardRef` erases the generic; re-cast so callers keep `DataTableExpandTrigger<TData>`.\nexport const DataTableExpandTrigger = React.forwardRef(\n DataTableExpandTriggerImpl\n) as <TData>(\n props: DataTableExpandTriggerProps<TData> & {\n ref?: React.Ref<HTMLButtonElement>;\n }\n) => React.ReactElement | null;\n"],"names":["DataTableExpandTriggerImpl","row","className","props","ref","expanded","jsx","cn","ChevronDownIcon","DataTableExpandTrigger","React"],"mappings":";;;;AAkBA,SAASA,EACP,EAAE,KAAAC,GAAK,WAAAC,GAAW,GAAGC,EAAA,GACrBC,GACA;AACA,MAAI,CAACH,EAAI,aAAA,EAAgB,QAAO;AAEhC,QAAMI,IAAWJ,EAAI,cAAA;AAErB,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,SAASH,EAAI,yBAAA;AAAA,MACb,cAAYI,IAAW,iBAAiB;AAAA,MACxC,iBAAeA;AAAA,MACf,WAAWE;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,WAAWD;AAAA,YACT;AAAA,YACA,CAACF,KAAY;AAAA,UAAA;AAAA,QACf;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;AAGO,MAAMI,IAAyBC,EAAM;AAAA,EAC1CV;AACF;"}
1
+ {"version":3,"file":"data-table-expand-trigger.js","sources":["../../../../src/components/ui/data-table/data-table-expand-trigger.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { Row } from '@tanstack/react-table';\nimport { ChevronDownIcon } from '@acronis-platform/icons-react/stroke-mono';\n\nimport { cn } from '@/lib/utils';\n\ninterface DataTableExpandTriggerProps<TData>\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** The row this trigger toggles. */\n row: Row<TData>;\n /** Accessible name while the row is expanded. Override to localize. */\n collapseLabel?: string;\n /** Accessible name while the row is collapsed. Override to localize. */\n expandLabel?: string;\n}\n\n// A chevron toggle button wired to a row's expansion state, meant to live inside\n// a column's `cell` render function so the expand affordance sits in a real\n// column (like the Vue2 `type=\"expand\"` column) instead of requiring a\n// whole-row click. Reads the row's own `getCanExpand`/`getIsExpanded` and calls\n// `toggleExpanded()` — the underlying expand state model is unchanged. Renders\n// nothing when the row can't expand.\nfunction DataTableExpandTriggerImpl<TData>(\n {\n row,\n collapseLabel = 'Collapse row',\n expandLabel = 'Expand row',\n className,\n ...props\n }: DataTableExpandTriggerProps<TData>,\n ref: React.Ref<HTMLButtonElement>\n) {\n if (!row.getCanExpand()) return null;\n\n const expanded = row.getIsExpanded();\n\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={row.getToggleExpandedHandler()}\n aria-label={expanded ? collapseLabel : expandLabel}\n aria-expanded={expanded}\n className={cn(\n // Lives in a data cell, so it tints from the data-cell tokens; the focus\n // ring matches the kit-wide 3px treatment (Figma stroke/width-3).\n 'inline-flex size-6 cursor-pointer items-center justify-center rounded-sm text-[var(--ui-table-data-value-color-idle)] transition-colors hover:bg-[var(--ui-table-data-cell-color-hover)] active:bg-[var(--ui-table-data-cell-color-active)] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-[var(--ui-focus-primary)] [&_svg]:size-4 [&_svg]:shrink-0',\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n className={cn(\n 'transition-transform',\n !expanded && 'ltr:-rotate-90 rtl:rotate-90'\n )}\n />\n </button>\n );\n}\n\n// `forwardRef` erases the generic; re-cast so callers keep `DataTableExpandTrigger<TData>`.\nexport const DataTableExpandTrigger = React.forwardRef(\n DataTableExpandTriggerImpl\n) as <TData>(\n props: DataTableExpandTriggerProps<TData> & {\n ref?: React.Ref<HTMLButtonElement>;\n }\n) => React.ReactElement | null;\n"],"names":["DataTableExpandTriggerImpl","row","collapseLabel","expandLabel","className","props","ref","expanded","jsx","cn","ChevronDownIcon","DataTableExpandTrigger","React"],"mappings":";;;;AAsBA,SAASA,EACP;AAAA,EACE,KAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc;AAAA,EACd,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,MAAI,CAACL,EAAI,aAAA,EAAgB,QAAO;AAEhC,QAAMM,IAAWN,EAAI,cAAA;AAErB,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,SAASL,EAAI,yBAAA;AAAA,MACb,cAAYM,IAAWL,IAAgBC;AAAA,MACvC,iBAAeI;AAAA,MACf,WAAWE;AAAA;AAAA;AAAA,QAGT;AAAA,QACAL;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,WAAWD;AAAA,YACT;AAAA,YACA,CAACF,KAAY;AAAA,UAAA;AAAA,QACf;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;AAGO,MAAMI,IAAyBC,EAAM;AAAA,EAC1CZ;AACF;"}
@@ -1,82 +1,83 @@
1
1
  import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
- import { ChevronFirstIcon as o, ChevronLeftIcon as l, ChevronRightIcon as s, ChevronLastIcon as c } from "@acronis-platform/icons-react/stroke-mono";
3
- import { InputSelect as d, InputSelectTrigger as g, InputSelectValue as m, InputSelectContent as p, InputSelectItem as h } from "../input-select/input-select.js";
2
+ import { ChevronFirstIcon as h, ChevronLeftIcon as u, ChevronRightIcon as x, ChevronLastIcon as f } from "@acronis-platform/icons-react/stroke-mono";
3
+ import { InputSelect as v, InputSelectTrigger as C, InputSelectValue as I, InputSelectContent as N, InputSelectItem as P } from "../input-select/input-select.js";
4
4
  import { ButtonIcon as i } from "../button-icon/button-icon.js";
5
- function C({
5
+ function j({
6
6
  table: e,
7
- pageSizeOptions: r = [10, 20, 30, 40, 50]
7
+ pageSizeOptions: o = [10, 20, 30, 40, 50],
8
+ rowsPerPageLabel: l = "Rows per page",
9
+ firstPageLabel: s = "Go to first page",
10
+ previousPageLabel: c = "Go to previous page",
11
+ nextPageLabel: d = "Go to next page",
12
+ lastPageLabel: g = "Go to last page",
13
+ pageLabel: m = (t, r) => `Page ${t} of ${r}`,
14
+ summaryLabel: p = (t, r) => `${t} of ${r} row(s) selected.`
8
15
  }) {
9
16
  return /* @__PURE__ */ a("div", { className: "flex items-center justify-between px-2", children: [
10
- /* @__PURE__ */ a("div", { className: "flex-1 text-sm text-muted-foreground", children: [
17
+ /* @__PURE__ */ n("div", { className: "flex-1 text-sm text-muted-foreground", children: p(
11
18
  e.getFilteredSelectedRowModel().rows.length,
12
- " of",
13
- " ",
14
- e.getFilteredRowModel().rows.length,
15
- " row(s) selected."
16
- ] }),
19
+ e.getFilteredRowModel().rows.length
20
+ ) }),
17
21
  /* @__PURE__ */ a("div", { className: "flex items-center gap-6 lg:gap-8", children: [
18
22
  /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
19
- /* @__PURE__ */ n("p", { className: "text-sm font-medium", children: "Rows per page" }),
23
+ /* @__PURE__ */ n("p", { className: "text-sm font-medium", children: l }),
20
24
  /* @__PURE__ */ a(
21
- d,
25
+ v,
22
26
  {
23
27
  value: `${e.getState().pagination.pageSize}`,
24
28
  onValueChange: (t) => e.setPageSize(Number(t)),
25
29
  children: [
26
- /* @__PURE__ */ n(g, { "aria-label": "Rows per page", className: "h-8 w-[70px]", children: /* @__PURE__ */ n(m, {}) }),
27
- /* @__PURE__ */ n(p, { children: r.map((t) => /* @__PURE__ */ n(h, { value: `${t}`, children: t }, t)) })
30
+ /* @__PURE__ */ n(C, { "aria-label": l, className: "h-8 w-[70px]", children: /* @__PURE__ */ n(I, {}) }),
31
+ /* @__PURE__ */ n(N, { children: o.map((t) => /* @__PURE__ */ n(P, { value: `${t}`, children: t }, t)) })
28
32
  ]
29
33
  }
30
34
  )
31
35
  ] }),
32
- /* @__PURE__ */ a("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
33
- "Page ",
36
+ /* @__PURE__ */ n("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: m(
34
37
  e.getState().pagination.pageIndex + 1,
35
- " of",
36
- " ",
37
38
  e.getPageCount()
38
- ] }),
39
+ ) }),
39
40
  /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
40
41
  /* @__PURE__ */ n(
41
42
  i,
42
43
  {
43
44
  variant: "secondary",
44
- "aria-label": "Go to first page",
45
+ "aria-label": s,
45
46
  className: "hidden lg:inline-flex",
46
47
  onClick: () => e.setPageIndex(0),
47
48
  disabled: !e.getCanPreviousPage(),
48
- children: /* @__PURE__ */ n(o, {})
49
+ children: /* @__PURE__ */ n(h, {})
49
50
  }
50
51
  ),
51
52
  /* @__PURE__ */ n(
52
53
  i,
53
54
  {
54
55
  variant: "secondary",
55
- "aria-label": "Go to previous page",
56
+ "aria-label": c,
56
57
  onClick: () => e.previousPage(),
57
58
  disabled: !e.getCanPreviousPage(),
58
- children: /* @__PURE__ */ n(l, {})
59
+ children: /* @__PURE__ */ n(u, {})
59
60
  }
60
61
  ),
61
62
  /* @__PURE__ */ n(
62
63
  i,
63
64
  {
64
65
  variant: "secondary",
65
- "aria-label": "Go to next page",
66
+ "aria-label": d,
66
67
  onClick: () => e.nextPage(),
67
68
  disabled: !e.getCanNextPage(),
68
- children: /* @__PURE__ */ n(s, {})
69
+ children: /* @__PURE__ */ n(x, {})
69
70
  }
70
71
  ),
71
72
  /* @__PURE__ */ n(
72
73
  i,
73
74
  {
74
75
  variant: "secondary",
75
- "aria-label": "Go to last page",
76
+ "aria-label": g,
76
77
  className: "hidden lg:inline-flex",
77
78
  onClick: () => e.setPageIndex(e.getPageCount() - 1),
78
79
  disabled: !e.getCanNextPage(),
79
- children: /* @__PURE__ */ n(c, {})
80
+ children: /* @__PURE__ */ n(f, {})
80
81
  }
81
82
  )
82
83
  ] })
@@ -84,6 +85,6 @@ function C({
84
85
  ] });
85
86
  }
86
87
  export {
87
- C as DataTablePagination
88
+ j as DataTablePagination
88
89
  };
89
90
  //# sourceMappingURL=data-table-pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-pagination.js","sources":["../../../../src/components/ui/data-table/data-table-pagination.tsx"],"sourcesContent":["import type { Table } from '@tanstack/react-table';\nimport {\n ChevronFirstIcon,\n ChevronLastIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\n\nimport { ButtonIcon } from '../button-icon';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../select';\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n /** Page-size options offered in the rows-per-page select. */\n pageSizeOptions?: number[];\n}\n\nexport function DataTablePagination<TData>({\n table,\n pageSizeOptions = [10, 20, 30, 40, 50],\n}: DataTablePaginationProps<TData>) {\n return (\n <div className=\"flex items-center justify-between px-2\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {table.getFilteredSelectedRowModel().rows.length} of{' '}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center gap-6 lg:gap-8\">\n <div className=\"flex items-center gap-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger aria-label=\"Rows per page\" className=\"h-8 w-[70px]\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-[100px] items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of{' '}\n {table.getPageCount()}\n </div>\n <div className=\"flex items-center gap-2\">\n <ButtonIcon\n variant=\"secondary\"\n aria-label=\"Go to first page\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronFirstIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label=\"Go to previous page\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronLeftIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label=\"Go to next page\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <ChevronRightIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label=\"Go to last page\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\n disabled={!table.getCanNextPage()}\n >\n <ChevronLastIcon />\n </ButtonIcon>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["DataTablePagination","table","pageSizeOptions","jsxs","jsx","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","ButtonIcon","ChevronFirstIcon","ChevronLeftIcon","ChevronRightIcon","ChevronLastIcon"],"mappings":";;;;AAuBO,SAASA,EAA2B;AAAA,EACzC,OAAAC;AAAA,EACA,iBAAAC,IAAkB,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE;AACvC,GAAoC;AAClC,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,wCACZ,UAAA;AAAA,MAAAF,EAAM,8BAA8B,KAAK;AAAA,MAAO;AAAA,MAAI;AAAA,MACpDA,EAAM,sBAAsB,KAAK;AAAA,MAAO;AAAA,IAAA,GAC3C;AAAA,IACA,gBAAAE,EAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC,EAAC,KAAA,EAAE,WAAU,uBAAsB,UAAA,iBAAa;AAAA,QAChD,gBAAAD;AAAA,UAACE;AAAAA,UAAA;AAAA,YACC,OAAO,GAAGJ,EAAM,SAAA,EAAW,WAAW,QAAQ;AAAA,YAC9C,eAAe,CAACK,MAAUL,EAAM,YAAY,OAAOK,CAAK,CAAC;AAAA,YAEzD,UAAA;AAAA,cAAA,gBAAAF,EAACG,KAAc,cAAW,iBAAgB,WAAU,gBAClD,UAAA,gBAAAH,EAACI,KAAY,EAAA,CACf;AAAA,cACA,gBAAAJ,EAACK,GAAA,EACE,UAAAP,EAAgB,IAAI,CAACQ,MACpB,gBAAAN,EAACO,GAAA,EAA0B,OAAO,GAAGD,CAAQ,IAC1C,UAAAA,EAAA,GADcA,CAEjB,CACD,EAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MACA,gBAAAP,EAAC,OAAA,EAAI,WAAU,kEAAiE,UAAA;AAAA,QAAA;AAAA,QACxEF,EAAM,SAAA,EAAW,WAAW,YAAY;AAAA,QAAE;AAAA,QAAI;AAAA,QACnDA,EAAM,aAAA;AAAA,MAAa,GACtB;AAAA,MACA,gBAAAE,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAW;AAAA,YACX,WAAU;AAAA,YACV,SAAS,MAAMX,EAAM,aAAa,CAAC;AAAA,YACnC,UAAU,CAACA,EAAM,mBAAA;AAAA,YAEjB,4BAACY,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEpB,gBAAAT;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAW;AAAA,YACX,SAAS,MAAMX,EAAM,aAAA;AAAA,YACrB,UAAU,CAACA,EAAM,mBAAA;AAAA,YAEjB,4BAACa,GAAA,CAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEnB,gBAAAV;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAW;AAAA,YACX,SAAS,MAAMX,EAAM,SAAA;AAAA,YACrB,UAAU,CAACA,EAAM,eAAA;AAAA,YAEjB,4BAACc,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEpB,gBAAAX;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAW;AAAA,YACX,WAAU;AAAA,YACV,SAAS,MAAMX,EAAM,aAAaA,EAAM,aAAA,IAAiB,CAAC;AAAA,YAC1D,UAAU,CAACA,EAAM,eAAA;AAAA,YAEjB,4BAACe,GAAA,CAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB,EAAA,CACF;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"data-table-pagination.js","sources":["../../../../src/components/ui/data-table/data-table-pagination.tsx"],"sourcesContent":["import type { Table } from '@tanstack/react-table';\nimport {\n ChevronFirstIcon,\n ChevronLastIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\n\nimport { ButtonIcon } from '../button-icon';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../select';\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n /** Page-size options offered in the rows-per-page select. */\n pageSizeOptions?: number[];\n /** Label of the rows-per-page select (also its accessible name). */\n rowsPerPageLabel?: string;\n /** Accessible name of the first-page control. */\n firstPageLabel?: string;\n /** Accessible name of the previous-page control. */\n previousPageLabel?: string;\n /** Accessible name of the next-page control. */\n nextPageLabel?: string;\n /** Accessible name of the last-page control. */\n lastPageLabel?: string;\n /** Builds the page indicator from the 1-based page number and page count. */\n pageLabel?: (page: number, pageCount: number) => string;\n /** Builds the leading selection summary from the selected and total counts. */\n summaryLabel?: (selectedRows: number, totalRows: number) => string;\n}\n\nexport function DataTablePagination<TData>({\n table,\n pageSizeOptions = [10, 20, 30, 40, 50],\n rowsPerPageLabel = 'Rows per page',\n firstPageLabel = 'Go to first page',\n previousPageLabel = 'Go to previous page',\n nextPageLabel = 'Go to next page',\n lastPageLabel = 'Go to last page',\n pageLabel = (page, count) => `Page ${page} of ${count}`,\n summaryLabel = (selected, total) => `${selected} of ${total} row(s) selected.`,\n}: DataTablePaginationProps<TData>) {\n return (\n <div className=\"flex items-center justify-between px-2\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {summaryLabel(\n table.getFilteredSelectedRowModel().rows.length,\n table.getFilteredRowModel().rows.length\n )}\n </div>\n <div className=\"flex items-center gap-6 lg:gap-8\">\n <div className=\"flex items-center gap-2\">\n <p className=\"text-sm font-medium\">{rowsPerPageLabel}</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger aria-label={rowsPerPageLabel} className=\"h-8 w-[70px]\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-[100px] items-center justify-center text-sm font-medium\">\n {pageLabel(\n table.getState().pagination.pageIndex + 1,\n table.getPageCount()\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <ButtonIcon\n variant=\"secondary\"\n aria-label={firstPageLabel}\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronFirstIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label={previousPageLabel}\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronLeftIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label={nextPageLabel}\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <ChevronRightIcon />\n </ButtonIcon>\n <ButtonIcon\n variant=\"secondary\"\n aria-label={lastPageLabel}\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\n disabled={!table.getCanNextPage()}\n >\n <ChevronLastIcon />\n </ButtonIcon>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["DataTablePagination","table","pageSizeOptions","rowsPerPageLabel","firstPageLabel","previousPageLabel","nextPageLabel","lastPageLabel","pageLabel","page","count","summaryLabel","selected","total","jsxs","jsx","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","ButtonIcon","ChevronFirstIcon","ChevronLeftIcon","ChevronRightIcon","ChevronLastIcon"],"mappings":";;;;AAqCO,SAASA,EAA2B;AAAA,EACzC,OAAAC;AAAA,EACA,iBAAAC,IAAkB,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE;AAAA,EACrC,kBAAAC,IAAmB;AAAA,EACnB,gBAAAC,IAAiB;AAAA,EACjB,mBAAAC,IAAoB;AAAA,EACpB,eAAAC,IAAgB;AAAA,EAChB,eAAAC,IAAgB;AAAA,EAChB,WAAAC,IAAY,CAACC,GAAMC,MAAU,QAAQD,CAAI,OAAOC,CAAK;AAAA,EACrD,cAAAC,IAAe,CAACC,GAAUC,MAAU,GAAGD,CAAQ,OAAOC,CAAK;AAC7D,GAAoC;AAClC,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,wCACZ,UAAAJ;AAAA,MACCV,EAAM,8BAA8B,KAAK;AAAA,MACzCA,EAAM,oBAAA,EAAsB,KAAK;AAAA,IAAA,GAErC;AAAA,IACA,gBAAAa,EAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC,EAAC,KAAA,EAAE,WAAU,uBAAuB,UAAAZ,GAAiB;AAAA,QACrD,gBAAAW;AAAA,UAACE;AAAAA,UAAA;AAAA,YACC,OAAO,GAAGf,EAAM,SAAA,EAAW,WAAW,QAAQ;AAAA,YAC9C,eAAe,CAACgB,MAAUhB,EAAM,YAAY,OAAOgB,CAAK,CAAC;AAAA,YAEzD,UAAA;AAAA,cAAA,gBAAAF,EAACG,KAAc,cAAYf,GAAkB,WAAU,gBACrD,UAAA,gBAAAY,EAACI,KAAY,EAAA,CACf;AAAA,cACA,gBAAAJ,EAACK,GAAA,EACE,UAAAlB,EAAgB,IAAI,CAACmB,MACpB,gBAAAN,EAACO,GAAA,EAA0B,OAAO,GAAGD,CAAQ,IAC1C,UAAAA,EAAA,GADcA,CAEjB,CACD,EAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MACA,gBAAAN,EAAC,OAAA,EAAI,WAAU,kEACZ,UAAAP;AAAA,QACCP,EAAM,SAAA,EAAW,WAAW,YAAY;AAAA,QACxCA,EAAM,aAAA;AAAA,MAAa,GAEvB;AAAA,MACA,gBAAAa,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAYnB;AAAA,YACZ,WAAU;AAAA,YACV,SAAS,MAAMH,EAAM,aAAa,CAAC;AAAA,YACnC,UAAU,CAACA,EAAM,mBAAA;AAAA,YAEjB,4BAACuB,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEpB,gBAAAT;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAYlB;AAAA,YACZ,SAAS,MAAMJ,EAAM,aAAA;AAAA,YACrB,UAAU,CAACA,EAAM,mBAAA;AAAA,YAEjB,4BAACwB,GAAA,CAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEnB,gBAAAV;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAYjB;AAAA,YACZ,SAAS,MAAML,EAAM,SAAA;AAAA,YACrB,UAAU,CAACA,EAAM,eAAA;AAAA,YAEjB,4BAACyB,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEpB,gBAAAX;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,cAAYhB;AAAA,YACZ,WAAU;AAAA,YACV,SAAS,MAAMN,EAAM,aAAaA,EAAM,aAAA,IAAiB,CAAC;AAAA,YAC1D,UAAU,CAACA,EAAM,eAAA;AAAA,YAEjB,4BAAC0B,GAAA,CAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB,EAAA,CACF;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
@@ -0,0 +1,7 @@
1
+ function t(e) {
2
+ return e.getSelectedRowModel().rows.length > 0;
3
+ }
4
+ export {
5
+ t as isBulkSelectionActive
6
+ };
7
+ //# sourceMappingURL=data-table-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-selection.js","sources":["../../../../src/components/ui/data-table/data-table-selection.ts"],"sourcesContent":["import type { Table } from '@tanstack/react-table';\n\n/**\n * Whether any row is currently selected — the single threshold that decides\n * between per-row actions and bulk actions, per the design (Figma 5916-10470\n * / 5916-10745 / 5916-11716 / 5916-11286 / 5916-11991): a single selected row\n * already switches to the bulk scope (its own row actions hide, and\n * `DataTableBulkActionsBar` enables), same as two or more. `TableActionsCell`\n * takes this as its `bulkSelectionActive` prop, so the threshold doesn't have\n * to be re-derived per consumer.\n */\nexport function isBulkSelectionActive<TData>(table: Table<TData>): boolean {\n return table.getSelectedRowModel().rows.length > 0;\n}\n"],"names":["isBulkSelectionActive","table"],"mappings":"AAWO,SAASA,EAA6BC,GAA8B;AACzE,SAAOA,EAAM,oBAAA,EAAsB,KAAK,SAAS;AACnD;"}