@12-apps/ui 6.66.2 → 6.68.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 (291) hide show
  1. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  2. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  3. package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
  4. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  5. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  6. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  7. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  8. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  9. package/dist/_internal/components/data-display/Chip/Chip.metrics.js +5 -1
  10. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  11. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  12. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +34 -31
  13. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +36 -33
  14. package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
  15. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +5 -5
  16. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +6 -6
  17. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +4 -4
  18. package/dist/_internal/components/data-display/DataViews/base-list-card.js +8 -8
  19. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
  20. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  21. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -3
  22. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
  23. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +7 -6
  24. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +31 -28
  25. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +11 -5
  26. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +2 -2
  27. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +8 -3
  28. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -4
  29. package/dist/_internal/components/data-display/DataViews/data-views-overflow-fields.js +18 -0
  30. package/dist/_internal/components/data-display/DataViews/data-views-overflow-fields.js.map +1 -0
  31. package/dist/_internal/components/data-display/DataViews/data-views-overflow.js +6 -2
  32. package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js +20 -0
  33. package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js.map +1 -0
  34. package/dist/_internal/components/data-display/DataViews/data-views-quick-types.js +1 -0
  35. package/dist/_internal/components/data-display/DataViews/data-views-quick-types.js.map +1 -0
  36. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
  38. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +8 -7
  39. package/dist/_internal/components/data-display/DataViews/data-views-sticky-head.js +21 -0
  40. package/dist/_internal/components/data-display/DataViews/data-views-sticky-head.js.map +1 -0
  41. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +7 -6
  42. package/dist/_internal/components/data-display/DataViews/data-views-types.js +1 -1
  43. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +3 -3
  44. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -3
  45. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  46. package/dist/_internal/components/data-display/index.js +22 -22
  47. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +3 -3
  48. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  49. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +1 -1
  50. package/dist/_internal/components/feedback/index.js +3 -3
  51. package/dist/_internal/components/index.js +33 -33
  52. package/dist/_internal/components/layout/SettingCard/SettingCard.js +6 -6
  53. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +4 -4
  54. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +5 -5
  55. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +5 -5
  56. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +7 -7
  57. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +6 -6
  58. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +7 -7
  59. package/dist/_internal/components/layout/index.js +10 -10
  60. package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
  61. package/dist/_internal/components/navigation/index.js +1 -1
  62. package/dist/_internal/user-avatar/user-avatar.js +5 -5
  63. package/dist/charts.js +11 -11
  64. package/dist/{chunk-35L5YMYQ.js → chunk-2QB4WIU5.js} +6 -6
  65. package/dist/{chunk-AAXLQFC7.js → chunk-3FIIMP7I.js} +2 -2
  66. package/dist/{chunk-6A6GZRXD.js → chunk-3VXS7O3X.js} +2 -2
  67. package/dist/chunk-4IE66GY2.js +89 -0
  68. package/dist/chunk-4IE66GY2.js.map +1 -0
  69. package/dist/{chunk-JYMXYSDP.js → chunk-5CAWRMDX.js} +2 -2
  70. package/dist/{chunk-647DEGIU.js → chunk-5WJFCQFN.js} +7 -7
  71. package/dist/{chunk-M6V7Y7CP.js → chunk-6CZC5S6O.js} +3 -3
  72. package/dist/chunk-6CZC5S6O.js.map +1 -0
  73. package/dist/{chunk-K6KBASL2.js → chunk-72L5C74V.js} +2 -2
  74. package/dist/chunk-AT6UKTH4.js +129 -0
  75. package/dist/chunk-AT6UKTH4.js.map +1 -0
  76. package/dist/{chunk-BI7YMVKZ.js → chunk-B2JSUFDX.js} +2 -2
  77. package/dist/{chunk-7J5JR33K.js → chunk-BBBHPK2Q.js} +2 -2
  78. package/dist/{chunk-UZ2CEJOO.js → chunk-CSJ7WNXU.js} +2 -2
  79. package/dist/{chunk-6QYKZMEE.js → chunk-CSLBRJ7N.js} +40 -25
  80. package/dist/chunk-CSLBRJ7N.js.map +1 -0
  81. package/dist/{chunk-LMIOWP6H.js → chunk-D34PZJH3.js} +2 -2
  82. package/dist/{chunk-HYQJJLBC.js → chunk-DHAXUVMR.js} +27 -3
  83. package/dist/chunk-DHAXUVMR.js.map +1 -0
  84. package/dist/{chunk-TKLPPAS5.js → chunk-E5GYHN4X.js} +4 -4
  85. package/dist/{chunk-KU6VHNRV.js → chunk-E5I776YW.js} +6 -2
  86. package/dist/{chunk-KU6VHNRV.js.map → chunk-E5I776YW.js.map} +1 -1
  87. package/dist/{chunk-SUZLGB5I.js → chunk-E6K2UZGR.js} +3 -3
  88. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  89. package/dist/{chunk-L7OWFJUU.js → chunk-EZAQIEYB.js} +40 -34
  90. package/dist/chunk-EZAQIEYB.js.map +1 -0
  91. package/dist/chunk-GCYGVWOI.js +59 -0
  92. package/dist/chunk-GCYGVWOI.js.map +1 -0
  93. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  94. package/dist/{chunk-O2P2KTKN.js → chunk-HLYYB4O5.js} +1 -1
  95. package/dist/chunk-HLYYB4O5.js.map +1 -0
  96. package/dist/{chunk-SAJDNO43.js → chunk-IGMD6S76.js} +3 -3
  97. package/dist/{chunk-EZFQO77P.js → chunk-IPYV7BLH.js} +2 -2
  98. package/dist/{chunk-KARMRTTM.js → chunk-J2RUDZVJ.js} +7 -7
  99. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  100. package/dist/{chunk-VJB63DUM.js → chunk-K3PMMW23.js} +2 -2
  101. package/dist/{chunk-TNVO3EVF.js → chunk-KT3TF2LT.js} +5 -3
  102. package/dist/chunk-KT3TF2LT.js.map +1 -0
  103. package/dist/{chunk-6S3S2K7O.js → chunk-L7HKMTKR.js} +3 -3
  104. package/dist/chunk-L7HKMTKR.js.map +1 -0
  105. package/dist/{chunk-J6DYHBID.js → chunk-LIN4A2BW.js} +7 -7
  106. package/dist/{chunk-7JS2SPRW.js → chunk-LKRXLWCC.js} +3 -3
  107. package/dist/{chunk-FXZUVZON.js → chunk-LWZ2K225.js} +6 -6
  108. package/dist/{chunk-EWTSQTVR.js → chunk-NI67M453.js} +6 -5
  109. package/dist/chunk-NI67M453.js.map +1 -0
  110. package/dist/{chunk-MJ6EAND6.js → chunk-Q7BGMLCX.js} +2 -2
  111. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  112. package/dist/{chunk-CMLIWUBW.js → chunk-QPCHABOZ.js} +24 -1
  113. package/dist/chunk-QPCHABOZ.js.map +1 -0
  114. package/dist/{chunk-L6MGAPBX.js → chunk-RCZ4KL2H.js} +5 -3
  115. package/dist/chunk-RCZ4KL2H.js.map +1 -0
  116. package/dist/{chunk-YLSSQJZM.js → chunk-T7ZERP7A.js} +30 -2
  117. package/dist/chunk-T7ZERP7A.js.map +1 -0
  118. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  119. package/dist/{chunk-Y7YKIIYS.js → chunk-TQXB2OHP.js} +28 -4
  120. package/dist/chunk-TQXB2OHP.js.map +1 -0
  121. package/dist/{chunk-KUFDUXYB.js → chunk-U6ODZJCH.js} +2 -2
  122. package/dist/{chunk-3WLS7Z7D.js → chunk-UMOHHWXY.js} +3 -3
  123. package/dist/{chunk-S4JXSC4D.js → chunk-V6SRBQMN.js} +5 -5
  124. package/dist/{chunk-JY5YINUH.js → chunk-WQ32YFM5.js} +15 -7
  125. package/dist/chunk-WQ32YFM5.js.map +1 -0
  126. package/dist/{chunk-ERA3AEWU.js → chunk-WTGIW7LX.js} +12 -3
  127. package/dist/chunk-WTGIW7LX.js.map +1 -0
  128. package/dist/{chunk-2VMIHFMX.js → chunk-WVIJFS5Y.js} +9 -4
  129. package/dist/chunk-WVIJFS5Y.js.map +1 -0
  130. package/dist/{chunk-375HTCF2.js → chunk-Y2CCXB7R.js} +18 -2
  131. package/dist/chunk-Y2CCXB7R.js.map +1 -0
  132. package/dist/{chunk-33XGC4YU.js → chunk-YEGZIYVM.js} +2 -2
  133. package/dist/{chunk-3PGY4UL4.js → chunk-YKQA4NPM.js} +37 -7
  134. package/dist/chunk-YKQA4NPM.js.map +1 -0
  135. package/dist/{chunk-XMVPNCYM.js → chunk-YQGVO3ZU.js} +3 -3
  136. package/dist/{chunk-OJFE5PK6.js → chunk-ZZO5MRMV.js} +2 -2
  137. package/dist/data-display/Avatar.js +4 -4
  138. package/dist/data-display/CardKit.js +7 -7
  139. package/dist/data-display/Carousel.js +2 -2
  140. package/dist/data-display/Chart.js +11 -11
  141. package/dist/data-display/Chip.js +3 -3
  142. package/dist/data-display/DataGrid.js +2 -2
  143. package/dist/data-display/DataViews.js +45 -42
  144. package/dist/feedback/StackedModal.js +3 -3
  145. package/dist/layout/SettingCard.js +10 -10
  146. package/dist/native/data-display/Chip.js +20 -1
  147. package/dist/native/data-display/Chip.js.map +1 -1
  148. package/dist/navigation/Tabs.js +1 -1
  149. package/dist/types/components/data-display/Chip/Chip.base.d.ts +5 -1
  150. package/dist/types/components/data-display/Chip/Chip.base.d.ts.map +1 -1
  151. package/dist/types/components/data-display/Chip/Chip.d.ts.map +1 -1
  152. package/dist/types/components/data-display/Chip/Chip.metrics.d.ts +4 -0
  153. package/dist/types/components/data-display/Chip/Chip.metrics.d.ts.map +1 -1
  154. package/dist/types/components/data-display/Chip/Chip.styles.d.ts +2 -7
  155. package/dist/types/components/data-display/Chip/Chip.styles.d.ts.map +1 -1
  156. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +15 -1
  157. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
  158. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +5 -1
  159. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
  160. package/dist/types/components/data-display/DataViews/data-views-empty.d.ts +10 -0
  161. package/dist/types/components/data-display/DataViews/data-views-empty.d.ts.map +1 -1
  162. package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts +2 -0
  163. package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
  164. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts +5 -1
  165. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  166. package/dist/types/components/data-display/DataViews/data-views-inline-bar.d.ts +4 -1
  167. package/dist/types/components/data-display/DataViews/data-views-inline-bar.d.ts.map +1 -1
  168. package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts +10 -1
  169. package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
  170. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
  171. package/dist/types/components/data-display/DataViews/data-views-overflow-fields.d.ts +56 -0
  172. package/dist/types/components/data-display/DataViews/data-views-overflow-fields.d.ts.map +1 -0
  173. package/dist/types/components/data-display/DataViews/data-views-overflow.d.ts +7 -5
  174. package/dist/types/components/data-display/DataViews/data-views-overflow.d.ts.map +1 -1
  175. package/dist/types/components/data-display/DataViews/data-views-quick-chip.d.ts +16 -0
  176. package/dist/types/components/data-display/DataViews/data-views-quick-chip.d.ts.map +1 -0
  177. package/dist/types/components/data-display/DataViews/data-views-quick-types.d.ts +33 -0
  178. package/dist/types/components/data-display/DataViews/data-views-quick-types.d.ts.map +1 -0
  179. package/dist/types/components/data-display/DataViews/data-views-range-types.d.ts +2 -0
  180. package/dist/types/components/data-display/DataViews/data-views-range-types.d.ts.map +1 -1
  181. package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts +11 -6
  182. package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts.map +1 -1
  183. package/dist/types/components/data-display/DataViews/data-views-sticky-head.d.ts +45 -0
  184. package/dist/types/components/data-display/DataViews/data-views-sticky-head.d.ts.map +1 -0
  185. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts +6 -0
  186. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
  187. package/dist/types/components/data-display/DataViews/data-views-types.d.ts +7 -4
  188. package/dist/types/components/data-display/DataViews/data-views-types.d.ts.map +1 -1
  189. package/dist/types/components/data-display/DataViews/index.d.ts +1 -1
  190. package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
  191. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  192. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts +2 -1
  193. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  194. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +17 -0
  195. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  196. package/dist/types/components/feedback/StackedModal/index.d.ts +1 -1
  197. package/dist/types/components/feedback/StackedModal/index.d.ts.map +1 -1
  198. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  199. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +12 -0
  200. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts.map +1 -1
  201. package/dist/types/components/navigation/Tabs/index.d.ts +1 -1
  202. package/dist/types/components/navigation/Tabs/index.d.ts.map +1 -1
  203. package/dist/types-native/components/data-display/Chip/Chip.base.d.ts +5 -1
  204. package/dist/types-native/components/data-display/Chip/Chip.base.d.ts.map +1 -1
  205. package/dist/types-native/components/data-display/Chip/Chip.look.native.d.ts.map +1 -1
  206. package/dist/types-native/components/data-display/Chip/Chip.metrics.d.ts +4 -0
  207. package/dist/types-native/components/data-display/Chip/Chip.metrics.d.ts.map +1 -1
  208. package/dist/user-avatar.js +5 -5
  209. package/package.json +1 -1
  210. package/src/components/data-display/Chip/Chip.base.ts +5 -1
  211. package/src/components/data-display/Chip/Chip.look.native.ts +22 -1
  212. package/src/components/data-display/Chip/Chip.metrics.ts +5 -0
  213. package/src/components/data-display/Chip/Chip.styles.tsx +38 -1
  214. package/src/components/data-display/Chip/Chip.tsx +6 -2
  215. package/src/components/data-display/Chip/chip.md +2 -2
  216. package/src/components/data-display/DataViews/DataViewsGrid.tsx +15 -0
  217. package/src/components/data-display/DataViews/DataViewsTableBase.tsx +5 -0
  218. package/src/components/data-display/DataViews/RESPONSIVE-BEHAVIOUR.md +50 -0
  219. package/src/components/data-display/DataViews/data-views-empty.tsx +25 -0
  220. package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +11 -1
  221. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +27 -15
  222. package/src/components/data-display/DataViews/data-views-inline-bar.tsx +24 -1
  223. package/src/components/data-display/DataViews/data-views-more-fields.tsx +34 -1
  224. package/src/components/data-display/DataViews/data-views-more-filters.tsx +20 -4
  225. package/src/components/data-display/DataViews/data-views-overflow-fields.ts +110 -0
  226. package/src/components/data-display/DataViews/data-views-overflow.ts +58 -36
  227. package/src/components/data-display/DataViews/data-views-quick-chip.tsx +143 -0
  228. package/src/components/data-display/DataViews/data-views-quick-types.ts +33 -0
  229. package/src/components/data-display/DataViews/data-views-range-types.ts +2 -0
  230. package/src/components/data-display/DataViews/data-views-shell-toolbar.tsx +31 -23
  231. package/src/components/data-display/DataViews/data-views-sticky-head.ts +132 -0
  232. package/src/components/data-display/DataViews/data-views-toolbar.tsx +9 -0
  233. package/src/components/data-display/DataViews/data-views-types.ts +7 -11
  234. package/src/components/data-display/DataViews/index.ts +1 -0
  235. package/src/components/feedback/StackedModal/StackedModal.md +1 -0
  236. package/src/components/feedback/StackedModal/StackedModal.styles.ts +53 -6
  237. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  238. package/src/components/feedback/StackedModal/StackedModal.types.ts +17 -0
  239. package/src/components/feedback/StackedModal/index.ts +1 -1
  240. package/src/components/navigation/Tabs/Tabs.md +1 -0
  241. package/src/components/navigation/Tabs/Tabs.tsx +30 -1
  242. package/src/components/navigation/Tabs/Tabs.types.ts +14 -0
  243. package/src/components/navigation/Tabs/index.ts +1 -1
  244. package/dist/chunk-2VMIHFMX.js.map +0 -1
  245. package/dist/chunk-375HTCF2.js.map +0 -1
  246. package/dist/chunk-3PGY4UL4.js.map +0 -1
  247. package/dist/chunk-6QYKZMEE.js.map +0 -1
  248. package/dist/chunk-6S3S2K7O.js.map +0 -1
  249. package/dist/chunk-CMLIWUBW.js.map +0 -1
  250. package/dist/chunk-ERA3AEWU.js.map +0 -1
  251. package/dist/chunk-EWTSQTVR.js.map +0 -1
  252. package/dist/chunk-HYQJJLBC.js.map +0 -1
  253. package/dist/chunk-JY5YINUH.js.map +0 -1
  254. package/dist/chunk-L6MGAPBX.js.map +0 -1
  255. package/dist/chunk-L7OWFJUU.js.map +0 -1
  256. package/dist/chunk-M6V7Y7CP.js.map +0 -1
  257. package/dist/chunk-O2P2KTKN.js.map +0 -1
  258. package/dist/chunk-TNVO3EVF.js.map +0 -1
  259. package/dist/chunk-Y7YKIIYS.js.map +0 -1
  260. package/dist/chunk-YLSSQJZM.js.map +0 -1
  261. /package/dist/{chunk-35L5YMYQ.js.map → chunk-2QB4WIU5.js.map} +0 -0
  262. /package/dist/{chunk-AAXLQFC7.js.map → chunk-3FIIMP7I.js.map} +0 -0
  263. /package/dist/{chunk-6A6GZRXD.js.map → chunk-3VXS7O3X.js.map} +0 -0
  264. /package/dist/{chunk-JYMXYSDP.js.map → chunk-5CAWRMDX.js.map} +0 -0
  265. /package/dist/{chunk-647DEGIU.js.map → chunk-5WJFCQFN.js.map} +0 -0
  266. /package/dist/{chunk-K6KBASL2.js.map → chunk-72L5C74V.js.map} +0 -0
  267. /package/dist/{chunk-BI7YMVKZ.js.map → chunk-B2JSUFDX.js.map} +0 -0
  268. /package/dist/{chunk-7J5JR33K.js.map → chunk-BBBHPK2Q.js.map} +0 -0
  269. /package/dist/{chunk-UZ2CEJOO.js.map → chunk-CSJ7WNXU.js.map} +0 -0
  270. /package/dist/{chunk-LMIOWP6H.js.map → chunk-D34PZJH3.js.map} +0 -0
  271. /package/dist/{chunk-TKLPPAS5.js.map → chunk-E5GYHN4X.js.map} +0 -0
  272. /package/dist/{chunk-SUZLGB5I.js.map → chunk-E6K2UZGR.js.map} +0 -0
  273. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  274. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  275. /package/dist/{chunk-SAJDNO43.js.map → chunk-IGMD6S76.js.map} +0 -0
  276. /package/dist/{chunk-EZFQO77P.js.map → chunk-IPYV7BLH.js.map} +0 -0
  277. /package/dist/{chunk-KARMRTTM.js.map → chunk-J2RUDZVJ.js.map} +0 -0
  278. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  279. /package/dist/{chunk-VJB63DUM.js.map → chunk-K3PMMW23.js.map} +0 -0
  280. /package/dist/{chunk-J6DYHBID.js.map → chunk-LIN4A2BW.js.map} +0 -0
  281. /package/dist/{chunk-7JS2SPRW.js.map → chunk-LKRXLWCC.js.map} +0 -0
  282. /package/dist/{chunk-FXZUVZON.js.map → chunk-LWZ2K225.js.map} +0 -0
  283. /package/dist/{chunk-MJ6EAND6.js.map → chunk-Q7BGMLCX.js.map} +0 -0
  284. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  285. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  286. /package/dist/{chunk-KUFDUXYB.js.map → chunk-U6ODZJCH.js.map} +0 -0
  287. /package/dist/{chunk-3WLS7Z7D.js.map → chunk-UMOHHWXY.js.map} +0 -0
  288. /package/dist/{chunk-S4JXSC4D.js.map → chunk-V6SRBQMN.js.map} +0 -0
  289. /package/dist/{chunk-33XGC4YU.js.map → chunk-YEGZIYVM.js.map} +0 -0
  290. /package/dist/{chunk-XMVPNCYM.js.map → chunk-YQGVO3ZU.js.map} +0 -0
  291. /package/dist/{chunk-OJFE5PK6.js.map → chunk-ZZO5MRMV.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import "../chunk-L5CPOEDP.js";
2
2
  import {
3
3
  DataGrid
4
- } from "../chunk-FXZUVZON.js";
5
- import "../chunk-EARWC6PD.js";
4
+ } from "../chunk-LWZ2K225.js";
6
5
  import "../chunk-LDROG4QI.js";
7
6
  import "../chunk-ZFXTRPQO.js";
8
7
  import "../chunk-ICDAYOJ6.js";
8
+ import "../chunk-EARWC6PD.js";
9
9
  import "../chunk-G3E66C6J.js";
10
10
  import "../chunk-YKCAJ2TN.js";
11
11
  import "../chunk-PZ5AY32C.js";
@@ -1,73 +1,77 @@
1
- import {
2
- BaseCard
3
- } from "../chunk-LMIOWP6H.js";
4
1
  import {
5
2
  DataViewsTableBase
6
- } from "../chunk-6S3S2K7O.js";
3
+ } from "../chunk-L7HKMTKR.js";
7
4
  import "../chunk-ZEVFMQAQ.js";
8
5
  import {
9
6
  DataViewsGrid
10
- } from "../chunk-M6V7Y7CP.js";
7
+ } from "../chunk-6CZC5S6O.js";
8
+ import {
9
+ BaseCard
10
+ } from "../chunk-D34PZJH3.js";
11
11
  import {
12
12
  BaseListCard
13
- } from "../chunk-J6DYHBID.js";
14
- import "../chunk-2JCRNWHE.js";
15
- import "../chunk-SUZLGB5I.js";
13
+ } from "../chunk-LIN4A2BW.js";
14
+ import "../chunk-E6K2UZGR.js";
16
15
  import "../chunk-QO7UJXXO.js";
17
- import "../chunk-3WLS7Z7D.js";
16
+ import "../chunk-UMOHHWXY.js";
17
+ import "../chunk-CSJ7WNXU.js";
18
+ import "../chunk-2JCRNWHE.js";
18
19
  import "../chunk-KLCSVYHL.js";
19
- import "../chunk-UZ2CEJOO.js";
20
- import "../chunk-ZOLAYP2D.js";
21
20
  import {
22
21
  DragContainerProvider,
23
22
  DropIndicator,
24
23
  useDragItem
25
24
  } from "../chunk-K4EKTMTC.js";
26
- import "../chunk-L7OWFJUU.js";
27
- import "../chunk-JY5YINUH.js";
25
+ import "../chunk-ZOLAYP2D.js";
26
+ import "../chunk-EZAQIEYB.js";
27
+ import "../chunk-Y2CCXB7R.js";
28
+ import "../chunk-TQXB2OHP.js";
29
+ import "../chunk-QLJU7UUI.js";
30
+ import "../chunk-X3AFXHY5.js";
31
+ import "../chunk-WQ32YFM5.js";
28
32
  import {
29
33
  DataViewsBoard
30
34
  } from "../chunk-7TCOYCD7.js";
31
35
  import "../chunk-SZSS5KKX.js";
32
- import "../chunk-TKLPPAS5.js";
33
- import "../chunk-375HTCF2.js";
34
- import "../chunk-Y7YKIIYS.js";
35
- import "../chunk-QLJU7UUI.js";
36
- import "../chunk-ERA3AEWU.js";
37
- import "../chunk-YLSSQJZM.js";
36
+ import "../chunk-E5GYHN4X.js";
37
+ import "../chunk-XZFTRGRW.js";
38
+ import "../chunk-CSLBRJ7N.js";
39
+ import "../chunk-WTGIW7LX.js";
40
+ import "../chunk-T7ZERP7A.js";
38
41
  import "../chunk-RQF4NXDC.js";
39
- import "../chunk-X3AFXHY5.js";
40
- import "../chunk-647DEGIU.js";
42
+ import "../chunk-GCYGVWOI.js";
43
+ import "../chunk-DNT5PZLF.js";
44
+ import "../chunk-5WJFCQFN.js";
41
45
  import "../chunk-FJ3UZ4RC.js";
46
+ import "../chunk-GCZJH4XL.js";
47
+ import "../chunk-AT6UKTH4.js";
42
48
  import "../chunk-7D7CJRL7.js";
43
49
  import "../chunk-CBOB5AV6.js";
44
- import "../chunk-XZFTRGRW.js";
45
- import "../chunk-6QYKZMEE.js";
46
- import "../chunk-DNT5PZLF.js";
47
50
  import "../chunk-5YDS6HO3.js";
48
51
  import "../chunk-WJEJ65TF.js";
49
52
  import "../chunk-ACBHZG3Z.js";
50
- import "../chunk-VJB63DUM.js";
53
+ import "../chunk-K3PMMW23.js";
51
54
  import "../chunk-O5UGAL2V.js";
52
- import "../chunk-GCZJH4XL.js";
53
55
  import "../chunk-G6EJLEVV.js";
54
56
  import "../chunk-YNIOCELQ.js";
55
57
  import "../chunk-YKKHNYEW.js";
56
58
  import "../chunk-4W6AQFMO.js";
57
59
  import "../chunk-5M4TYFR3.js";
58
- import "../chunk-L6MGAPBX.js";
59
- import "../chunk-2VMIHFMX.js";
60
- import "../chunk-K6KBASL2.js";
61
- import "../chunk-WSAUWJFO.js";
60
+ import "../chunk-RCZ4KL2H.js";
61
+ import "../chunk-WVIJFS5Y.js";
62
62
  import "../chunk-TVXUOJAL.js";
63
- import "../chunk-33XGC4YU.js";
63
+ import "../chunk-72L5C74V.js";
64
+ import "../chunk-WSAUWJFO.js";
65
+ import "../chunk-YEGZIYVM.js";
64
66
  import "../chunk-YLGY3D52.js";
65
67
  import "../chunk-H7QTDKA6.js";
66
- import "../chunk-BI7YMVKZ.js";
68
+ import "../chunk-4IE66GY2.js";
69
+ import "../chunk-B2JSUFDX.js";
67
70
  import "../chunk-DZEC6RFM.js";
68
- import "../chunk-35L5YMYQ.js";
71
+ import "../chunk-2QB4WIU5.js";
69
72
  import "../chunk-J32XJALK.js";
70
73
  import "../chunk-YGQX7BNI.js";
74
+ import "../chunk-IMLIIW77.js";
71
75
  import "../chunk-LLZWB32X.js";
72
76
  import {
73
77
  DataViewsScopeTabs,
@@ -75,22 +79,21 @@ import {
75
79
  resolveScope
76
80
  } from "../chunk-PL2AB5HJ.js";
77
81
  import "../chunk-XZE5FIRB.js";
78
- import "../chunk-IMLIIW77.js";
79
82
  import "../chunk-DUVH273U.js";
80
83
  import {
81
84
  DEFAULT_RAILS,
82
85
  ListCardGroup,
83
86
  RAIL_COUNT
84
- } from "../chunk-7J5JR33K.js";
87
+ } from "../chunk-BBBHPK2Q.js";
85
88
  import {
86
89
  cardMinWidthForZoom,
87
90
  cardScaleForZoom
88
- } from "../chunk-JYMXYSDP.js";
91
+ } from "../chunk-5CAWRMDX.js";
89
92
  import {
90
93
  CARD_ASPECT_RATIOS,
91
94
  DATA_VIEWS_LAYOUTS,
92
95
  toSavedViewSummary
93
- } from "../chunk-O2P2KTKN.js";
96
+ } from "../chunk-HLYYB4O5.js";
94
97
  import {
95
98
  DataViewsCopyProvider,
96
99
  useDataViewsCopy
@@ -176,17 +179,17 @@ import "../chunk-Z2JH5KW5.js";
176
179
  import "../chunk-AL5E624U.js";
177
180
  import "../chunk-LV7LSPBF.js";
178
181
  import "../chunk-CN46HGXE.js";
179
- import "../chunk-TNVO3EVF.js";
180
- import "../chunk-6A6GZRXD.js";
181
- import "../chunk-3PGY4UL4.js";
182
+ import "../chunk-KT3TF2LT.js";
183
+ import "../chunk-3VXS7O3X.js";
184
+ import "../chunk-YKQA4NPM.js";
182
185
  import "../chunk-TSMF7K37.js";
183
186
  import "../chunk-JZRSHDNY.js";
184
187
  import "../chunk-L5CPOEDP.js";
185
- import "../chunk-FXZUVZON.js";
186
- import "../chunk-EARWC6PD.js";
188
+ import "../chunk-LWZ2K225.js";
187
189
  import "../chunk-LDROG4QI.js";
188
190
  import "../chunk-ZFXTRPQO.js";
189
191
  import "../chunk-ICDAYOJ6.js";
192
+ import "../chunk-EARWC6PD.js";
190
193
  import "../chunk-G3E66C6J.js";
191
194
  import "../chunk-SNCSGLJ6.js";
192
195
  import "../chunk-UMICTXMP.js";
@@ -1,12 +1,12 @@
1
1
  import "../chunk-CN46HGXE.js";
2
2
  import {
3
3
  StackedModal
4
- } from "../chunk-TNVO3EVF.js";
4
+ } from "../chunk-KT3TF2LT.js";
5
5
  import {
6
6
  StackedModalActions,
7
7
  StackedModalContent
8
- } from "../chunk-6A6GZRXD.js";
9
- import "../chunk-3PGY4UL4.js";
8
+ } from "../chunk-3VXS7O3X.js";
9
+ import "../chunk-YKQA4NPM.js";
10
10
  import "../chunk-TSMF7K37.js";
11
11
  import {
12
12
  ModalStackProvider,
@@ -1,22 +1,22 @@
1
1
  import "../chunk-QGUNUXTT.js";
2
2
  import {
3
3
  SettingToggle
4
- } from "../chunk-EZFQO77P.js";
4
+ } from "../chunk-IPYV7BLH.js";
5
5
  import {
6
6
  SettingGroup
7
- } from "../chunk-SAJDNO43.js";
8
- import "../chunk-7JS2SPRW.js";
7
+ } from "../chunk-IGMD6S76.js";
8
+ import "../chunk-LKRXLWCC.js";
9
9
  import "../chunk-XJQNSMGA.js";
10
10
  import {
11
11
  SETTING_GRID_CONTAINER,
12
12
  SettingGrid
13
- } from "../chunk-KUFDUXYB.js";
13
+ } from "../chunk-U6ODZJCH.js";
14
14
  import {
15
15
  SettingCard
16
- } from "../chunk-XMVPNCYM.js";
16
+ } from "../chunk-YQGVO3ZU.js";
17
17
  import "../chunk-SALQ65SM.js";
18
- import "../chunk-AAXLQFC7.js";
19
- import "../chunk-OJFE5PK6.js";
18
+ import "../chunk-3FIIMP7I.js";
19
+ import "../chunk-ZZO5MRMV.js";
20
20
  import "../chunk-IQWPVPV5.js";
21
21
  import "../chunk-BFRVMCQM.js";
22
22
  import "../chunk-RN7UJI7S.js";
@@ -27,9 +27,9 @@ import "../chunk-G3JFESKD.js";
27
27
  import "../chunk-QYJ25FWM.js";
28
28
  import "../chunk-BCWL7HUO.js";
29
29
  import "../chunk-2GTORM5E.js";
30
- import "../chunk-EWTSQTVR.js";
31
- import "../chunk-HYQJJLBC.js";
32
- import "../chunk-KU6VHNRV.js";
30
+ import "../chunk-NI67M453.js";
31
+ import "../chunk-DHAXUVMR.js";
32
+ import "../chunk-E5I776YW.js";
33
33
  import "../chunk-BF4FYOAR.js";
34
34
  import "../chunk-4PJ52YBO.js";
35
35
  import "../chunk-EIMFA7KP.js";
@@ -85,6 +85,8 @@ var OUTLINED_BORDER_ALPHA = 0.7;
85
85
  var DELETE_ICON_ALPHA = 0.26;
86
86
  var DELETE_ICON_ON_COLOR_ALPHA = 0.7;
87
87
  var OUTLINED_HOVER_ALPHA = 0.04;
88
+ var SOFT_GROUND_ALPHA = 0.14;
89
+ var SOFT_HOVER_ALPHA = 0.22;
88
90
 
89
91
  // src/components/data-display/Chip/Chip.look.native.ts
90
92
  var SELECTED_OPACITY = 0.08;
@@ -107,6 +109,23 @@ function filledPaint(theme, color) {
107
109
  deleteColor: alpha(accent.contrastText, DELETE_ICON_ON_COLOR_ALPHA)
108
110
  };
109
111
  }
112
+ function softPaint(theme, color) {
113
+ if (!isAccented(color)) {
114
+ return {
115
+ container: { backgroundColor: theme.palette.action.selected },
116
+ pressed: { backgroundColor: theme.palette.action.hover },
117
+ label: { color: theme.palette.text.secondary, fontWeight: "600" },
118
+ deleteColor: alpha(theme.palette.text.secondary, DELETE_ICON_ALPHA)
119
+ };
120
+ }
121
+ const accent = theme.palette[color];
122
+ return {
123
+ container: { backgroundColor: alpha(accent.main, SOFT_GROUND_ALPHA) },
124
+ pressed: { backgroundColor: alpha(accent.main, SOFT_HOVER_ALPHA) },
125
+ label: { color: accent.dark, fontWeight: "600" },
126
+ deleteColor: alpha(accent.dark, DELETE_ICON_ALPHA)
127
+ };
128
+ }
110
129
  function outlinedPaint(theme, color) {
111
130
  const border = { backgroundColor: "transparent", borderWidth: 1, borderStyle: "solid" };
112
131
  if (!isAccented(color)) {
@@ -126,7 +145,7 @@ function outlinedPaint(theme, color) {
126
145
  };
127
146
  }
128
147
  function chipPaint(theme, variant, color, selected) {
129
- const paint = variant === "outlined" ? outlinedPaint(theme, color) : filledPaint(theme, color);
148
+ const paint = variant === "outlined" ? outlinedPaint(theme, color) : variant === "soft" ? softPaint(theme, color) : filledPaint(theme, color);
130
149
  if (variant !== "outlined" || !selected) return paint;
131
150
  return {
132
151
  ...paint,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/data-display/Chip/Chip.native.tsx","../../../src/components/data-display/Chip/Chip.helpers.ts","../../../src/components/data-display/Chip/Chip.metrics.ts","../../../src/components/data-display/Chip/Chip.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Image,\n Pressable,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport { chipKeyAction, chipRole, isClickable, makeTestId } from './Chip.helpers';\nimport {\n chipAvatarStyle,\n chipContainerStyle,\n chipDeleteSlotStyle,\n chipLabelStyle,\n chipLeadingSlotStyle,\n chipMetrics,\n chipPaint,\n type ChipPaint,\n} from './Chip.look.native';\nimport { chipMuiSize, type ChipSizeMetrics } from './Chip.metrics';\nimport type { ChipProps, ChipVariant } from './Chip.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webKeyDown, type WebKeyHandler } from '../../../platform/web-keys';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\ninterface SlotArgs {\n metrics: ChipSizeMetrics;\n variant: ChipVariant;\n}\n\n/**\n * The leading slot. MUI restyles the icon ELEMENT through a class — 24px, or\n * 18px when small — which a native renderer cannot do to an arbitrary node, so\n * the slot carries the margins and the glyph keeps the size it was given.\n */\nfunction LeadingSlot({\n metrics,\n variant,\n avatar,\n avatarSrc,\n icon,\n testID,\n}: SlotArgs &\n Pick<ChipProps, 'avatar' | 'avatarSrc' | 'icon'> & { testID: string }): React.JSX.Element | null {\n if (avatar) {\n return <View style={chipLeadingSlotStyle(metrics, variant, 'avatar')}>{avatar}</View>;\n }\n if (avatarSrc) {\n return (\n <View style={chipLeadingSlotStyle(metrics, variant, 'avatar')}>\n <Image\n source={{ uri: avatarSrc }}\n style={chipAvatarStyle(metrics)}\n accessibilityIgnoresInvertColors\n />\n </View>\n );\n }\n if (icon) {\n return (\n <View style={chipLeadingSlotStyle(metrics, variant, 'icon')} testID={testID}>\n {icon}\n </View>\n );\n }\n return null;\n}\n\n/** MUI's `deleteIcon`: the `Cancel` glyph, pressable, tucked under the label. */\nfunction DeleteSlot({\n metrics,\n variant,\n color,\n onDelete,\n disabled,\n testID,\n}: SlotArgs & {\n color: string;\n onDelete?: () => void;\n disabled?: boolean;\n testID: string;\n}): React.JSX.Element {\n return (\n <Pressable\n testID={testID}\n role=\"button\"\n aria-label=\"delete\"\n disabled={disabled}\n onPress={onDelete}\n style={chipDeleteSlotStyle(metrics, variant)}\n >\n <Icon name=\"Cancel\" size={metrics.deleteSize} color={color} />\n </Pressable>\n );\n}\n\ninterface ChipBodyProps extends SlotArgs {\n paint: ChipPaint;\n label: string;\n avatar?: ChipProps['avatar'];\n avatarSrc?: string;\n icon?: ChipProps['icon'];\n deletable?: boolean;\n disabled?: boolean;\n onDelete?: () => void;\n idFor: (suffix: string) => string;\n}\n\n/** Everything inside the pill: the leading slot, the label, the delete button. */\nfunction ChipBody({\n metrics,\n variant,\n paint,\n label,\n avatar,\n avatarSrc,\n icon,\n deletable,\n disabled,\n onDelete,\n idFor,\n}: ChipBodyProps): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <>\n <LeadingSlot\n metrics={metrics}\n variant={variant}\n avatar={avatar}\n avatarSrc={avatarSrc}\n icon={icon}\n testID={idFor('icon')}\n />\n <RNText\n testID={idFor('label')}\n numberOfLines={1}\n style={[chipLabelStyle(theme, metrics, variant), paint.label]}\n >\n {label}\n </RNText>\n {deletable ? (\n <DeleteSlot\n metrics={metrics}\n variant={variant}\n color={paint.deleteColor}\n onDelete={onDelete}\n disabled={disabled}\n testID={idFor('delete')}\n />\n ) : null}\n </>\n );\n}\n\ninterface KeyDownArgs {\n role: 'option' | 'button' | undefined;\n disabled?: boolean;\n deletable?: boolean;\n selectable?: boolean;\n /** Whether the chip acts at all, under either handler spelling. */\n acts?: unknown;\n onClick?: () => void;\n onDelete?: () => void;\n}\n\n/**\n * The half of the chip's keyboard contract react-native-web does NOT already\n * cover. Its `Pressable` turns Enter into a press on any role, and Space into\n * one only on a `button` role (`isValidKeyPress`) — so a selectable chip, which\n * is an `option`, needs Space wiring here, and Delete/Backspace is never its.\n * On a device none of this is ever called.\n */\nfunction makeChipKeyDown(args: KeyDownArgs): WebKeyHandler {\n return (event) => {\n const action = chipKeyAction(event.key, { ...args, onClick: args.acts });\n if (action === null) return;\n if (action === 'delete') {\n event.preventDefault();\n args.onDelete?.();\n return;\n }\n if (event.key === 'Enter' || args.role === 'button') return;\n event.preventDefault();\n args.onClick?.();\n };\n}\n\n/**\n * The native `Chip`: MUI's pill on a `Pressable`, reachable by keyboard only\n * when it acts — which is the same rule MUI applies through `clickable`.\n */\nexport const Chip = React.forwardRef<View, ChipProps>((props, ref) => {\n const {\n label,\n variant = 'filled',\n size = 'md',\n color = 'primary',\n avatarSrc,\n avatar,\n icon,\n selected,\n selectable,\n deletable,\n disabled,\n onClick,\n onPress,\n onDelete,\n dataTestId,\n testID,\n style,\n ...rest\n } = props;\n const theme = useUiTheme();\n const chipId = testID ?? dataTestId;\n const metrics = chipMetrics(chipMuiSize(size));\n const paint = chipPaint(theme, variant, color, Boolean(selected));\n const acts = onClick ?? onPress;\n const clickable = isClickable(disabled, acts, selectable);\n const role = chipRole(selectable, acts);\n\n const base: StyleProp<ViewStyle> = [\n chipContainerStyle(metrics, Boolean(disabled)),\n paint.container,\n style,\n ];\n\n const press = (event: GestureResponderEvent): void => {\n onClick?.();\n onPress?.(event);\n };\n\n return (\n <Pressable\n ref={ref}\n testID={chipId || 'chip'}\n role={role}\n aria-selected={selectable ? selected : undefined}\n disabled={disabled}\n // MUI makes only a clickable chip keyboard-reachable; react-native-web\n // would otherwise give every Pressable a tab stop.\n tabIndex={clickable ? 0 : -1}\n onPress={clickable ? press : undefined}\n {...webKeyDown(\n makeChipKeyDown({ role, disabled, deletable, selectable, acts, onClick, onDelete }),\n )}\n style={(state) => [base, state.pressed && clickable ? paint.pressed : null]}\n {...rest}\n >\n <ChipBody\n metrics={metrics}\n variant={variant}\n paint={paint}\n label={label}\n avatar={avatar}\n avatarSrc={avatarSrc}\n icon={icon}\n deletable={deletable}\n disabled={disabled}\n onDelete={onDelete}\n idFor={makeTestId(chipId)}\n />\n </Pressable>\n );\n});\n\nChip.displayName = 'Chip';\n","/** `${dataTestId}-label`, or `chip-label` when the caller named nothing. */\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `chip-${suffix}`;\n\n/** `option` when the chip belongs to a selectable set, `button` when it merely acts. */\nexport const chipRole = (\n selectable?: boolean,\n // `unknown`, because the two renderers hand this a differently-typed handler\n // and all that is asked of it here is whether the caller supplied one.\n onClick?: unknown,\n): 'option' | 'button' | undefined => {\n if (selectable) return 'option';\n return onClick ? 'button' : undefined;\n};\n\nexport const isClickable = (\n disabled?: boolean,\n onClick?: unknown,\n selectable?: boolean,\n): boolean => !disabled && (Boolean(onClick) || Boolean(selectable));\n\n/** What a key press on a chip means, if anything. */\nexport type ChipKeyAction = 'delete' | 'activate' | null;\n\nconst DELETE_KEYS = new Set(['Delete', 'Backspace']);\nconst ACTIVATE_KEYS = new Set(['Enter', ' ']);\n\nexport interface ChipKeyArgs {\n disabled?: boolean;\n deletable?: boolean;\n selectable?: boolean;\n onClick?: unknown;\n onDelete?: unknown;\n}\n\n/**\n * A chip is not a native control, so the two keyboard conventions it stands in\n * for are decided by hand: Delete/Backspace removes it, Enter/Space activates\n * it. Both renderers read this one decision — the web wires it to the DOM\n * handler, the native half to react-native-web's (see `Chip.native.tsx`).\n */\nexport function chipKeyAction(key: string, a: ChipKeyArgs): ChipKeyAction {\n if (a.disabled) return null;\n if (DELETE_KEYS.has(key) && a.deletable && a.onDelete) return 'delete';\n if (ACTIVATE_KEYS.has(key) && (a.onClick || a.selectable)) return 'activate';\n return null;\n}\n","import type { ChipSize } from './Chip.base';\n\n/**\n * THE NUMBERS BOTH `Chip` RENDERERS DRAW WITH.\n *\n * Most of them are MUI's own `Chip` geometry rather than anything this package\n * writes — the 32px pill, the 13px label, the 5px/-6px icon tuck — because the\n * web half hands the drawing to `MuiChip` and the native half has to draw it.\n * Restated here once, read by both, so the two cannot disagree about a chip's\n * height. What THIS package adds (`Chip.styles.tsx`'s hover lift, its shadow\n * and its transition) is at the bottom, and the web derives its CSS from it.\n */\n\n/** MUI draws two chip sizes; ours are the house abbreviations for them. */\nexport type ChipMuiSize = 'small' | 'medium';\n\nexport const chipMuiSize = (size: ChipSize): ChipMuiSize =>\n size === 'xs' || size === 'sm' ? 'small' : 'medium';\n\nexport interface ChipSizeMetrics {\n height: number;\n /** The label's own side padding, filled and outlined (outlined is 1px tighter). */\n labelPadding: number;\n labelPaddingOutlined: number;\n /** The leading icon's box, and how far it tucks under the label. */\n iconSize: number;\n iconMarginLeft: number;\n iconMarginLeftOutlined: number;\n iconMarginRight: number;\n /** The avatar's round box and the type inside it. */\n avatarSize: number;\n avatarFontSize: number;\n avatarMarginLeft: number;\n avatarMarginLeftOutlined: number;\n avatarMarginRight: number;\n /** The delete glyph's box and its own tuck. */\n deleteSize: number;\n deleteMarginLeft: number;\n deleteMarginRight: number;\n deleteMarginRightOutlined: number;\n}\n\nexport const CHIP_SIZES: Record<ChipMuiSize, ChipSizeMetrics> = {\n medium: {\n height: 32,\n labelPadding: 12,\n labelPaddingOutlined: 11,\n iconSize: 24,\n iconMarginLeft: 5,\n iconMarginLeftOutlined: 4,\n iconMarginRight: -6,\n avatarSize: 24,\n avatarFontSize: 12,\n avatarMarginLeft: 5,\n avatarMarginLeftOutlined: 4,\n avatarMarginRight: -6,\n deleteSize: 22,\n deleteMarginLeft: -6,\n deleteMarginRight: 5,\n deleteMarginRightOutlined: 5,\n },\n small: {\n height: 24,\n labelPadding: 8,\n labelPaddingOutlined: 7,\n iconSize: 18,\n iconMarginLeft: 4,\n iconMarginLeftOutlined: 2,\n iconMarginRight: -4,\n avatarSize: 18,\n avatarFontSize: 10,\n avatarMarginLeft: 4,\n avatarMarginLeftOutlined: 2,\n avatarMarginRight: -4,\n deleteSize: 16,\n deleteMarginLeft: -4,\n deleteMarginRight: 4,\n deleteMarginRightOutlined: 3,\n },\n};\n\n/** MUI's `borderRadius: 32 / 2` — a pill at either height, since the box clamps it. */\nexport const CHIP_RADIUS = 16;\n/** The label's type, in px. MUI sets it on the root and the small size keeps it. */\nexport const CHIP_FONT_SIZE = 13;\n/** MUI's `palette.action.disabledOpacity`. */\nexport const CHIP_DISABLED_OPACITY = 0.38;\n/** An outlined chip's hairline: the hue at 0.7, or the grey ramp for `neutral`. */\nexport const OUTLINED_BORDER_ALPHA = 0.7;\n/** The delete glyph over an unaccented chip, and over a coloured one. */\nexport const DELETE_ICON_ALPHA = 0.26;\nexport const DELETE_ICON_ON_COLOR_ALPHA = 0.7;\n/** MUI's `action.hoverOpacity`, the wash a clickable outlined chip takes. */\nexport const OUTLINED_HOVER_ALPHA = 0.04;\n\n/* ── What this package adds on top of MUI's chip ──────────────────────────── */\n\n/** The lift a clickable chip takes on hover, and the shadow under it. */\nexport const HOVER_LIFT_PX = 1;\nexport const HOVER_SHADOW = { offsetY: 4, blur: 12, alphaLight: 0.15, alphaDark: 0.3 } as const;\nexport const CHIP_TRANSITION_MS = 200;\nexport const CHIP_TRANSITION_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\n","import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\n\nimport type { ChipColor, ChipVariant } from './Chip.base';\nimport {\n CHIP_DISABLED_OPACITY,\n CHIP_FONT_SIZE,\n CHIP_RADIUS,\n CHIP_SIZES,\n DELETE_ICON_ALPHA,\n DELETE_ICON_ON_COLOR_ALPHA,\n OUTLINED_BORDER_ALPHA,\n OUTLINED_HOVER_ALPHA,\n type ChipMuiSize,\n type ChipSizeMetrics,\n} from './Chip.metrics';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** MUI's `action.selectedOpacity`; its hover wash adds `OUTLINED_HOVER_ALPHA` on top. */\nconst SELECTED_OPACITY = 0.08;\n\nexport interface ChipPaint {\n container: ViewStyle;\n /** The web's `:hover` background, which touch has no equivalent of. */\n pressed: ViewStyle;\n label: TextStyle;\n deleteColor: string;\n}\n\n/** `neutral` is MUI's `default`: no accent, the ink and the ramp instead. */\nconst isAccented = (color: ChipColor): boolean => color !== 'neutral';\n\n/** An unaccented chip's hairline, which follows the mode rather than a hue. */\nconst neutralBorder = (theme: UiTheme): string =>\n theme.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700];\n\nfunction filledPaint(theme: UiTheme, color: ChipColor): ChipPaint {\n if (!isAccented(color)) {\n return {\n container: { backgroundColor: theme.palette.action.selected },\n pressed: { backgroundColor: alpha(theme.palette.action.selected, SELECTED_OPACITY + OUTLINED_HOVER_ALPHA) },\n label: { color: theme.palette.text.primary },\n deleteColor: alpha(theme.palette.text.primary, DELETE_ICON_ALPHA),\n };\n }\n const accent = theme.palette[color];\n return {\n container: { backgroundColor: accent.main },\n pressed: { backgroundColor: accent.dark },\n label: { color: accent.contrastText },\n deleteColor: alpha(accent.contrastText, DELETE_ICON_ON_COLOR_ALPHA),\n };\n}\n\nfunction outlinedPaint(theme: UiTheme, color: ChipColor): ChipPaint {\n const border: ViewStyle = { backgroundColor: 'transparent', borderWidth: 1, borderStyle: 'solid' };\n if (!isAccented(color)) {\n return {\n container: { ...border, borderColor: neutralBorder(theme) },\n pressed: { backgroundColor: theme.palette.action.hover },\n label: { color: theme.palette.text.primary },\n deleteColor: alpha(theme.palette.text.primary, DELETE_ICON_ALPHA),\n };\n }\n const accent = theme.palette[color];\n return {\n container: { ...border, borderColor: alpha(accent.main, OUTLINED_BORDER_ALPHA) },\n pressed: { backgroundColor: alpha(accent.main, OUTLINED_HOVER_ALPHA) },\n label: { color: accent.main },\n deleteColor: alpha(accent.main, OUTLINED_BORDER_ALPHA),\n };\n}\n\n/**\n * What MUI's chip paints, as React Native styles. `selected` tints an OUTLINED\n * chip with `action.selected` — a filled one is already solid, which is what\n * `Chip.styles.tsx` decided for the web.\n */\nexport function chipPaint(\n theme: UiTheme,\n variant: ChipVariant,\n color: ChipColor,\n selected: boolean,\n): ChipPaint {\n const paint = variant === 'outlined' ? outlinedPaint(theme, color) : filledPaint(theme, color);\n if (variant !== 'outlined' || !selected) return paint;\n return {\n ...paint,\n container: { ...paint.container, backgroundColor: theme.palette.action.selected },\n };\n}\n\n/** The pill itself: MUI's height, its 16px radius, and the disabled fade. */\nexport function chipContainerStyle(metrics: ChipSizeMetrics, disabled: boolean): ViewStyle {\n return {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n maxWidth: '100%',\n height: metrics.height,\n borderRadius: CHIP_RADIUS,\n ...(disabled ? { opacity: CHIP_DISABLED_OPACITY } : {}),\n };\n}\n\n/** The label: MUI's 13px, padded by the variant, clipped rather than wrapped. */\nexport function chipLabelStyle(\n theme: UiTheme,\n metrics: ChipSizeMetrics,\n variant: ChipVariant,\n): TextStyle {\n const padding = variant === 'outlined' ? metrics.labelPaddingOutlined : metrics.labelPadding;\n return {\n fontFamily: theme.typography.fontFamily,\n fontSize: CHIP_FONT_SIZE,\n paddingLeft: padding,\n paddingRight: padding,\n flexShrink: 1,\n };\n}\n\n/** The margins MUI gives the leading slot, tucking it under the label's padding. */\nexport function chipLeadingSlotStyle(\n metrics: ChipSizeMetrics,\n variant: ChipVariant,\n slot: 'icon' | 'avatar',\n): ViewStyle {\n const outlined = variant === 'outlined';\n const marginLeft =\n slot === 'icon'\n ? (outlined ? metrics.iconMarginLeftOutlined : metrics.iconMarginLeft)\n : (outlined ? metrics.avatarMarginLeftOutlined : metrics.avatarMarginLeft);\n return {\n marginLeft,\n marginRight: slot === 'icon' ? metrics.iconMarginRight : metrics.avatarMarginRight,\n alignItems: 'center',\n justifyContent: 'center',\n };\n}\n\n/** The delete glyph's own tuck, one pixel tighter when the chip is outlined. */\nexport function chipDeleteSlotStyle(metrics: ChipSizeMetrics, variant: ChipVariant): ViewStyle {\n return {\n marginLeft: metrics.deleteMarginLeft,\n marginRight:\n variant === 'outlined' ? metrics.deleteMarginRightOutlined : metrics.deleteMarginRight,\n alignItems: 'center',\n justifyContent: 'center',\n };\n}\n\n/** The round avatar box MUI draws for an `avatarSrc`. */\nexport function chipAvatarStyle(metrics: ChipSizeMetrics): ImageStyle {\n return {\n width: metrics.avatarSize,\n height: metrics.avatarSize,\n borderRadius: metrics.avatarSize / 2,\n overflow: 'hidden',\n };\n}\n\nexport const chipMetrics = (size: ChipMuiSize): ChipSizeMetrics => CHIP_SIZES[size];\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,YAAY,WAAW;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,OAIK;;;ACRA,IAAM,aACX,CAAC,eACD,CAAC,WACC,aAAa,GAAG,UAAU,IAAI,MAAM,KAAK,QAAQ,MAAM;AAGpD,IAAM,WAAW,CACtB,YAGA,YACoC;AACpC,MAAI,WAAY,QAAO;AACvB,SAAO,UAAU,WAAW;AAC9B;AAEO,IAAM,cAAc,CACzB,UACA,SACA,eACY,CAAC,aAAa,QAAQ,OAAO,KAAK,QAAQ,UAAU;AAKlE,IAAM,cAAc,oBAAI,IAAI,CAAC,UAAU,WAAW,CAAC;AACnD,IAAM,gBAAgB,oBAAI,IAAI,CAAC,SAAS,GAAG,CAAC;AAgBrC,SAAS,cAAc,KAAa,GAA+B;AACxE,MAAI,EAAE,SAAU,QAAO;AACvB,MAAI,YAAY,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,SAAU,QAAO;AAC9D,MAAI,cAAc,IAAI,GAAG,MAAM,EAAE,WAAW,EAAE,YAAa,QAAO;AAClE,SAAO;AACT;;;AChCO,IAAM,cAAc,CAAC,SAC1B,SAAS,QAAQ,SAAS,OAAO,UAAU;AAyBtC,IAAM,aAAmD;AAAA,EAC9D,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,sBAAsB;AAAA,IACtB,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,wBAAwB;AAAA,IACxB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,0BAA0B;AAAA,IAC1B,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,2BAA2B;AAAA,EAC7B;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,sBAAsB;AAAA,IACtB,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,wBAAwB;AAAA,IACxB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,0BAA0B;AAAA,IAC1B,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,2BAA2B;AAAA,EAC7B;AACF;AAGO,IAAM,cAAc;AAEpB,IAAM,iBAAiB;AAEvB,IAAM,wBAAwB;AAE9B,IAAM,wBAAwB;AAE9B,IAAM,oBAAoB;AAC1B,IAAM,6BAA6B;AAEnC,IAAM,uBAAuB;;;AC1EpC,IAAM,mBAAmB;AAWzB,IAAM,aAAa,CAAC,UAA8B,UAAU;AAG5D,IAAM,gBAAgB,CAAC,UACrB,MAAM,SAAS,UAAU,MAAM,QAAQ,KAAK,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AAE3E,SAAS,YAAY,OAAgB,OAA6B;AAChE,MAAI,CAAC,WAAW,KAAK,GAAG;AACtB,WAAO;AAAA,MACL,WAAW,EAAE,iBAAiB,MAAM,QAAQ,OAAO,SAAS;AAAA,MAC5D,SAAS,EAAE,iBAAiB,MAAM,MAAM,QAAQ,OAAO,UAAU,mBAAmB,oBAAoB,EAAE;AAAA,MAC1G,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,QAAQ;AAAA,MAC3C,aAAa,MAAM,MAAM,QAAQ,KAAK,SAAS,iBAAiB;AAAA,IAClE;AAAA,EACF;AACA,QAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,SAAO;AAAA,IACL,WAAW,EAAE,iBAAiB,OAAO,KAAK;AAAA,IAC1C,SAAS,EAAE,iBAAiB,OAAO,KAAK;AAAA,IACxC,OAAO,EAAE,OAAO,OAAO,aAAa;AAAA,IACpC,aAAa,MAAM,OAAO,cAAc,0BAA0B;AAAA,EACpE;AACF;AAEA,SAAS,cAAc,OAAgB,OAA6B;AAClE,QAAM,SAAoB,EAAE,iBAAiB,eAAe,aAAa,GAAG,aAAa,QAAQ;AACjG,MAAI,CAAC,WAAW,KAAK,GAAG;AACtB,WAAO;AAAA,MACL,WAAW,EAAE,GAAG,QAAQ,aAAa,cAAc,KAAK,EAAE;AAAA,MAC1D,SAAS,EAAE,iBAAiB,MAAM,QAAQ,OAAO,MAAM;AAAA,MACvD,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK,QAAQ;AAAA,MAC3C,aAAa,MAAM,MAAM,QAAQ,KAAK,SAAS,iBAAiB;AAAA,IAClE;AAAA,EACF;AACA,QAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,SAAO;AAAA,IACL,WAAW,EAAE,GAAG,QAAQ,aAAa,MAAM,OAAO,MAAM,qBAAqB,EAAE;AAAA,IAC/E,SAAS,EAAE,iBAAiB,MAAM,OAAO,MAAM,oBAAoB,EAAE;AAAA,IACrE,OAAO,EAAE,OAAO,OAAO,KAAK;AAAA,IAC5B,aAAa,MAAM,OAAO,MAAM,qBAAqB;AAAA,EACvD;AACF;AAOO,SAAS,UACd,OACA,SACA,OACA,UACW;AACX,QAAM,QAAQ,YAAY,aAAa,cAAc,OAAO,KAAK,IAAI,YAAY,OAAO,KAAK;AAC7F,MAAI,YAAY,cAAc,CAAC,SAAU,QAAO;AAChD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW,EAAE,GAAG,MAAM,WAAW,iBAAiB,MAAM,QAAQ,OAAO,SAAS;AAAA,EAClF;AACF;AAGO,SAAS,mBAAmB,SAA0B,UAA8B;AACzF,SAAO;AAAA,IACL,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,IACV,QAAQ,QAAQ;AAAA,IAChB,cAAc;AAAA,IACd,GAAI,WAAW,EAAE,SAAS,sBAAsB,IAAI,CAAC;AAAA,EACvD;AACF;AAGO,SAAS,eACd,OACA,SACA,SACW;AACX,QAAM,UAAU,YAAY,aAAa,QAAQ,uBAAuB,QAAQ;AAChF,SAAO;AAAA,IACL,YAAY,MAAM,WAAW;AAAA,IAC7B,UAAU;AAAA,IACV,aAAa;AAAA,IACb,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AACF;AAGO,SAAS,qBACd,SACA,SACA,MACW;AACX,QAAM,WAAW,YAAY;AAC7B,QAAM,aACJ,SAAS,SACJ,WAAW,QAAQ,yBAAyB,QAAQ,iBACpD,WAAW,QAAQ,2BAA2B,QAAQ;AAC7D,SAAO;AAAA,IACL;AAAA,IACA,aAAa,SAAS,SAAS,QAAQ,kBAAkB,QAAQ;AAAA,IACjE,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AACF;AAGO,SAAS,oBAAoB,SAA0B,SAAiC;AAC7F,SAAO;AAAA,IACL,YAAY,QAAQ;AAAA,IACpB,aACE,YAAY,aAAa,QAAQ,4BAA4B,QAAQ;AAAA,IACvE,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AACF;AAGO,SAAS,gBAAgB,SAAsC;AACpE,SAAO;AAAA,IACL,OAAO,QAAQ;AAAA,IACf,QAAQ,QAAQ;AAAA,IAChB,cAAc,QAAQ,aAAa;AAAA,IACnC,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,cAAc,CAAC,SAAuC,WAAW,IAAI;;;AHlHvE,SA+EP,UA/EO,KA+EP,YA/EO;AAVX,SAAS,YAAY;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACmG;AACjG,MAAI,QAAQ;AACV,WAAO,oBAAC,QAAK,OAAO,qBAAqB,SAAS,SAAS,QAAQ,GAAI,kBAAO;AAAA,EAChF;AACA,MAAI,WAAW;AACb,WACE,oBAAC,QAAK,OAAO,qBAAqB,SAAS,SAAS,QAAQ,GAC1D;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,EAAE,KAAK,UAAU;AAAA,QACzB,OAAO,gBAAgB,OAAO;AAAA,QAC9B,kCAAgC;AAAA;AAAA,IAClC,GACF;AAAA,EAEJ;AACA,MAAI,MAAM;AACR,WACE,oBAAC,QAAK,OAAO,qBAAqB,SAAS,SAAS,MAAM,GAAG,QAC1D,gBACH;AAAA,EAEJ;AACA,SAAO;AACT;AAGA,SAAS,WAAW;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,cAAW;AAAA,MACX;AAAA,MACA,SAAS;AAAA,MACT,OAAO,oBAAoB,SAAS,OAAO;AAAA,MAE3C,8BAAC,QAAK,MAAK,UAAS,MAAM,QAAQ,YAAY,OAAc;AAAA;AAAA,EAC9D;AAEJ;AAeA,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqC;AACnC,QAAM,QAAQ,WAAW;AACzB,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,MAAM,MAAM;AAAA;AAAA,IACtB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,MAAM,OAAO;AAAA,QACrB,eAAe;AAAA,QACf,OAAO,CAAC,eAAe,OAAO,SAAS,OAAO,GAAG,MAAM,KAAK;AAAA,QAE3D;AAAA;AAAA,IACH;AAAA,IACC,YACC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,QACA;AAAA,QACA,QAAQ,MAAM,QAAQ;AAAA;AAAA,IACxB,IACE;AAAA,KACN;AAEJ;AAoBA,SAAS,gBAAgB,MAAkC;AACzD,SAAO,CAAC,UAAU;AAChB,UAAM,SAAS,cAAc,MAAM,KAAK,EAAE,GAAG,MAAM,SAAS,KAAK,KAAK,CAAC;AACvE,QAAI,WAAW,KAAM;AACrB,QAAI,WAAW,UAAU;AACvB,YAAM,eAAe;AACrB,WAAK,WAAW;AAChB;AAAA,IACF;AACA,QAAI,MAAM,QAAQ,WAAW,KAAK,SAAS,SAAU;AACrD,UAAM,eAAe;AACrB,SAAK,UAAU;AAAA,EACjB;AACF;AAMO,IAAM,OAAa,iBAA4B,CAAC,OAAO,QAAQ;AACpE,QAAM;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,QAAQ,WAAW;AACzB,QAAM,SAAS,UAAU;AACzB,QAAM,UAAU,YAAY,YAAY,IAAI,CAAC;AAC7C,QAAM,QAAQ,UAAU,OAAO,SAAS,OAAO,QAAQ,QAAQ,CAAC;AAChE,QAAM,OAAO,WAAW;AACxB,QAAM,YAAY,YAAY,UAAU,MAAM,UAAU;AACxD,QAAM,OAAO,SAAS,YAAY,IAAI;AAEtC,QAAM,OAA6B;AAAA,IACjC,mBAAmB,SAAS,QAAQ,QAAQ,CAAC;AAAA,IAC7C,MAAM;AAAA,IACN;AAAA,EACF;AAEA,QAAM,QAAQ,CAAC,UAAuC;AACpD,cAAU;AACV,cAAU,KAAK;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB;AAAA,MACA,iBAAe,aAAa,WAAW;AAAA,MACvC;AAAA,MAGA,UAAU,YAAY,IAAI;AAAA,MAC1B,SAAS,YAAY,QAAQ;AAAA,MAC5B,GAAG;AAAA,QACF,gBAAgB,EAAE,MAAM,UAAU,WAAW,YAAY,MAAM,SAAS,SAAS,CAAC;AAAA,MACpF;AAAA,MACA,OAAO,CAAC,UAAU,CAAC,MAAM,MAAM,WAAW,YAAY,MAAM,UAAU,IAAI;AAAA,MACzE,GAAG;AAAA,MAEJ;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,WAAW,MAAM;AAAA;AAAA,MAC1B;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,KAAK,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/data-display/Chip/Chip.native.tsx","../../../src/components/data-display/Chip/Chip.helpers.ts","../../../src/components/data-display/Chip/Chip.metrics.ts","../../../src/components/data-display/Chip/Chip.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Image,\n Pressable,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport { chipKeyAction, chipRole, isClickable, makeTestId } from './Chip.helpers';\nimport {\n chipAvatarStyle,\n chipContainerStyle,\n chipDeleteSlotStyle,\n chipLabelStyle,\n chipLeadingSlotStyle,\n chipMetrics,\n chipPaint,\n type ChipPaint,\n} from './Chip.look.native';\nimport { chipMuiSize, type ChipSizeMetrics } from './Chip.metrics';\nimport type { ChipProps, ChipVariant } from './Chip.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webKeyDown, type WebKeyHandler } from '../../../platform/web-keys';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\ninterface SlotArgs {\n metrics: ChipSizeMetrics;\n variant: ChipVariant;\n}\n\n/**\n * The leading slot. MUI restyles the icon ELEMENT through a class — 24px, or\n * 18px when small — which a native renderer cannot do to an arbitrary node, so\n * the slot carries the margins and the glyph keeps the size it was given.\n */\nfunction LeadingSlot({\n metrics,\n variant,\n avatar,\n avatarSrc,\n icon,\n testID,\n}: SlotArgs &\n Pick<ChipProps, 'avatar' | 'avatarSrc' | 'icon'> & { testID: string }): React.JSX.Element | null {\n if (avatar) {\n return <View style={chipLeadingSlotStyle(metrics, variant, 'avatar')}>{avatar}</View>;\n }\n if (avatarSrc) {\n return (\n <View style={chipLeadingSlotStyle(metrics, variant, 'avatar')}>\n <Image\n source={{ uri: avatarSrc }}\n style={chipAvatarStyle(metrics)}\n accessibilityIgnoresInvertColors\n />\n </View>\n );\n }\n if (icon) {\n return (\n <View style={chipLeadingSlotStyle(metrics, variant, 'icon')} testID={testID}>\n {icon}\n </View>\n );\n }\n return null;\n}\n\n/** MUI's `deleteIcon`: the `Cancel` glyph, pressable, tucked under the label. */\nfunction DeleteSlot({\n metrics,\n variant,\n color,\n onDelete,\n disabled,\n testID,\n}: SlotArgs & {\n color: string;\n onDelete?: () => void;\n disabled?: boolean;\n testID: string;\n}): React.JSX.Element {\n return (\n <Pressable\n testID={testID}\n role=\"button\"\n aria-label=\"delete\"\n disabled={disabled}\n onPress={onDelete}\n style={chipDeleteSlotStyle(metrics, variant)}\n >\n <Icon name=\"Cancel\" size={metrics.deleteSize} color={color} />\n </Pressable>\n );\n}\n\ninterface ChipBodyProps extends SlotArgs {\n paint: ChipPaint;\n label: string;\n avatar?: ChipProps['avatar'];\n avatarSrc?: string;\n icon?: ChipProps['icon'];\n deletable?: boolean;\n disabled?: boolean;\n onDelete?: () => void;\n idFor: (suffix: string) => string;\n}\n\n/** Everything inside the pill: the leading slot, the label, the delete button. */\nfunction ChipBody({\n metrics,\n variant,\n paint,\n label,\n avatar,\n avatarSrc,\n icon,\n deletable,\n disabled,\n onDelete,\n idFor,\n}: ChipBodyProps): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <>\n <LeadingSlot\n metrics={metrics}\n variant={variant}\n avatar={avatar}\n avatarSrc={avatarSrc}\n icon={icon}\n testID={idFor('icon')}\n />\n <RNText\n testID={idFor('label')}\n numberOfLines={1}\n style={[chipLabelStyle(theme, metrics, variant), paint.label]}\n >\n {label}\n </RNText>\n {deletable ? (\n <DeleteSlot\n metrics={metrics}\n variant={variant}\n color={paint.deleteColor}\n onDelete={onDelete}\n disabled={disabled}\n testID={idFor('delete')}\n />\n ) : null}\n </>\n );\n}\n\ninterface KeyDownArgs {\n role: 'option' | 'button' | undefined;\n disabled?: boolean;\n deletable?: boolean;\n selectable?: boolean;\n /** Whether the chip acts at all, under either handler spelling. */\n acts?: unknown;\n onClick?: () => void;\n onDelete?: () => void;\n}\n\n/**\n * The half of the chip's keyboard contract react-native-web does NOT already\n * cover. Its `Pressable` turns Enter into a press on any role, and Space into\n * one only on a `button` role (`isValidKeyPress`) — so a selectable chip, which\n * is an `option`, needs Space wiring here, and Delete/Backspace is never its.\n * On a device none of this is ever called.\n */\nfunction makeChipKeyDown(args: KeyDownArgs): WebKeyHandler {\n return (event) => {\n const action = chipKeyAction(event.key, { ...args, onClick: args.acts });\n if (action === null) return;\n if (action === 'delete') {\n event.preventDefault();\n args.onDelete?.();\n return;\n }\n if (event.key === 'Enter' || args.role === 'button') return;\n event.preventDefault();\n args.onClick?.();\n };\n}\n\n/**\n * The native `Chip`: MUI's pill on a `Pressable`, reachable by keyboard only\n * when it acts — which is the same rule MUI applies through `clickable`.\n */\nexport const Chip = React.forwardRef<View, ChipProps>((props, ref) => {\n const {\n label,\n variant = 'filled',\n size = 'md',\n color = 'primary',\n avatarSrc,\n avatar,\n icon,\n selected,\n selectable,\n deletable,\n disabled,\n onClick,\n onPress,\n onDelete,\n dataTestId,\n testID,\n style,\n ...rest\n } = props;\n const theme = useUiTheme();\n const chipId = testID ?? dataTestId;\n const metrics = chipMetrics(chipMuiSize(size));\n const paint = chipPaint(theme, variant, color, Boolean(selected));\n const acts = onClick ?? onPress;\n const clickable = isClickable(disabled, acts, selectable);\n const role = chipRole(selectable, acts);\n\n const base: StyleProp<ViewStyle> = [\n chipContainerStyle(metrics, Boolean(disabled)),\n paint.container,\n style,\n ];\n\n const press = (event: GestureResponderEvent): void => {\n onClick?.();\n onPress?.(event);\n };\n\n return (\n <Pressable\n ref={ref}\n testID={chipId || 'chip'}\n role={role}\n aria-selected={selectable ? selected : undefined}\n disabled={disabled}\n // MUI makes only a clickable chip keyboard-reachable; react-native-web\n // would otherwise give every Pressable a tab stop.\n tabIndex={clickable ? 0 : -1}\n onPress={clickable ? press : undefined}\n {...webKeyDown(\n makeChipKeyDown({ role, disabled, deletable, selectable, acts, onClick, onDelete }),\n )}\n style={(state) => [base, state.pressed && clickable ? paint.pressed : null]}\n {...rest}\n >\n <ChipBody\n metrics={metrics}\n variant={variant}\n paint={paint}\n label={label}\n avatar={avatar}\n avatarSrc={avatarSrc}\n icon={icon}\n deletable={deletable}\n disabled={disabled}\n onDelete={onDelete}\n idFor={makeTestId(chipId)}\n />\n </Pressable>\n );\n});\n\nChip.displayName = 'Chip';\n","/** `${dataTestId}-label`, or `chip-label` when the caller named nothing. */\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `chip-${suffix}`;\n\n/** `option` when the chip belongs to a selectable set, `button` when it merely acts. */\nexport const chipRole = (\n selectable?: boolean,\n // `unknown`, because the two renderers hand this a differently-typed handler\n // and all that is asked of it here is whether the caller supplied one.\n onClick?: unknown,\n): 'option' | 'button' | undefined => {\n if (selectable) return 'option';\n return onClick ? 'button' : undefined;\n};\n\nexport const isClickable = (\n disabled?: boolean,\n onClick?: unknown,\n selectable?: boolean,\n): boolean => !disabled && (Boolean(onClick) || Boolean(selectable));\n\n/** What a key press on a chip means, if anything. */\nexport type ChipKeyAction = 'delete' | 'activate' | null;\n\nconst DELETE_KEYS = new Set(['Delete', 'Backspace']);\nconst ACTIVATE_KEYS = new Set(['Enter', ' ']);\n\nexport interface ChipKeyArgs {\n disabled?: boolean;\n deletable?: boolean;\n selectable?: boolean;\n onClick?: unknown;\n onDelete?: unknown;\n}\n\n/**\n * A chip is not a native control, so the two keyboard conventions it stands in\n * for are decided by hand: Delete/Backspace removes it, Enter/Space activates\n * it. Both renderers read this one decision — the web wires it to the DOM\n * handler, the native half to react-native-web's (see `Chip.native.tsx`).\n */\nexport function chipKeyAction(key: string, a: ChipKeyArgs): ChipKeyAction {\n if (a.disabled) return null;\n if (DELETE_KEYS.has(key) && a.deletable && a.onDelete) return 'delete';\n if (ACTIVATE_KEYS.has(key) && (a.onClick || a.selectable)) return 'activate';\n return null;\n}\n","import type { ChipSize } from './Chip.base';\n\n/**\n * THE NUMBERS BOTH `Chip` RENDERERS DRAW WITH.\n *\n * Most of them are MUI's own `Chip` geometry rather than anything this package\n * writes — the 32px pill, the 13px label, the 5px/-6px icon tuck — because the\n * web half hands the drawing to `MuiChip` and the native half has to draw it.\n * Restated here once, read by both, so the two cannot disagree about a chip's\n * height. What THIS package adds (`Chip.styles.tsx`'s hover lift, its shadow\n * and its transition) is at the bottom, and the web derives its CSS from it.\n */\n\n/** MUI draws two chip sizes; ours are the house abbreviations for them. */\nexport type ChipMuiSize = 'small' | 'medium';\n\nexport const chipMuiSize = (size: ChipSize): ChipMuiSize =>\n size === 'xs' || size === 'sm' ? 'small' : 'medium';\n\nexport interface ChipSizeMetrics {\n height: number;\n /** The label's own side padding, filled and outlined (outlined is 1px tighter). */\n labelPadding: number;\n labelPaddingOutlined: number;\n /** The leading icon's box, and how far it tucks under the label. */\n iconSize: number;\n iconMarginLeft: number;\n iconMarginLeftOutlined: number;\n iconMarginRight: number;\n /** The avatar's round box and the type inside it. */\n avatarSize: number;\n avatarFontSize: number;\n avatarMarginLeft: number;\n avatarMarginLeftOutlined: number;\n avatarMarginRight: number;\n /** The delete glyph's box and its own tuck. */\n deleteSize: number;\n deleteMarginLeft: number;\n deleteMarginRight: number;\n deleteMarginRightOutlined: number;\n}\n\nexport const CHIP_SIZES: Record<ChipMuiSize, ChipSizeMetrics> = {\n medium: {\n height: 32,\n labelPadding: 12,\n labelPaddingOutlined: 11,\n iconSize: 24,\n iconMarginLeft: 5,\n iconMarginLeftOutlined: 4,\n iconMarginRight: -6,\n avatarSize: 24,\n avatarFontSize: 12,\n avatarMarginLeft: 5,\n avatarMarginLeftOutlined: 4,\n avatarMarginRight: -6,\n deleteSize: 22,\n deleteMarginLeft: -6,\n deleteMarginRight: 5,\n deleteMarginRightOutlined: 5,\n },\n small: {\n height: 24,\n labelPadding: 8,\n labelPaddingOutlined: 7,\n iconSize: 18,\n iconMarginLeft: 4,\n iconMarginLeftOutlined: 2,\n iconMarginRight: -4,\n avatarSize: 18,\n avatarFontSize: 10,\n avatarMarginLeft: 4,\n avatarMarginLeftOutlined: 2,\n avatarMarginRight: -4,\n deleteSize: 16,\n deleteMarginLeft: -4,\n deleteMarginRight: 4,\n deleteMarginRightOutlined: 3,\n },\n};\n\n/** MUI's `borderRadius: 32 / 2` — a pill at either height, since the box clamps it. */\nexport const CHIP_RADIUS = 16;\n/** The label's type, in px. MUI sets it on the root and the small size keeps it. */\nexport const CHIP_FONT_SIZE = 13;\n/** MUI's `palette.action.disabledOpacity`. */\nexport const CHIP_DISABLED_OPACITY = 0.38;\n/** An outlined chip's hairline: the hue at 0.7, or the grey ramp for `neutral`. */\nexport const OUTLINED_BORDER_ALPHA = 0.7;\n/** The delete glyph over an unaccented chip, and over a coloured one. */\nexport const DELETE_ICON_ALPHA = 0.26;\nexport const DELETE_ICON_ON_COLOR_ALPHA = 0.7;\n/** MUI's `action.hoverOpacity`, the wash a clickable outlined chip takes. */\nexport const OUTLINED_HOVER_ALPHA = 0.04;\n\n/* ── What this package adds on top of MUI's chip ──────────────────────────── */\n\n/** The lift a clickable chip takes on hover, and the shadow under it. */\nexport const HOVER_LIFT_PX = 1;\nexport const HOVER_SHADOW = { offsetY: 4, blur: 12, alphaLight: 0.15, alphaDark: 0.3 } as const;\nexport const CHIP_TRANSITION_MS = 200;\nexport const CHIP_TRANSITION_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\n\n/** A soft chip's ground: the colour at this alpha over the page. */\nexport const SOFT_GROUND_ALPHA = 0.14;\n/** A soft chip's hover ground. */\nexport const SOFT_HOVER_ALPHA = 0.22;\n","import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\n\nimport type { ChipColor, ChipVariant } from './Chip.base';\nimport {\n CHIP_DISABLED_OPACITY,\n CHIP_FONT_SIZE,\n CHIP_RADIUS,\n CHIP_SIZES,\n DELETE_ICON_ALPHA,\n DELETE_ICON_ON_COLOR_ALPHA,\n OUTLINED_BORDER_ALPHA,\n OUTLINED_HOVER_ALPHA,\n SOFT_GROUND_ALPHA,\n SOFT_HOVER_ALPHA,\n type ChipMuiSize,\n type ChipSizeMetrics,\n} from './Chip.metrics';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** MUI's `action.selectedOpacity`; its hover wash adds `OUTLINED_HOVER_ALPHA` on top. */\nconst SELECTED_OPACITY = 0.08;\n\nexport interface ChipPaint {\n container: ViewStyle;\n /** The web's `:hover` background, which touch has no equivalent of. */\n pressed: ViewStyle;\n label: TextStyle;\n deleteColor: string;\n}\n\n/** `neutral` is MUI's `default`: no accent, the ink and the ramp instead. */\nconst isAccented = (color: ChipColor): boolean => color !== 'neutral';\n\n/** An unaccented chip's hairline, which follows the mode rather than a hue. */\nconst neutralBorder = (theme: UiTheme): string =>\n theme.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700];\n\nfunction filledPaint(theme: UiTheme, color: ChipColor): ChipPaint {\n if (!isAccented(color)) {\n return {\n container: { backgroundColor: theme.palette.action.selected },\n pressed: { backgroundColor: alpha(theme.palette.action.selected, SELECTED_OPACITY + OUTLINED_HOVER_ALPHA) },\n label: { color: theme.palette.text.primary },\n deleteColor: alpha(theme.palette.text.primary, DELETE_ICON_ALPHA),\n };\n }\n const accent = theme.palette[color];\n return {\n container: { backgroundColor: accent.main },\n pressed: { backgroundColor: accent.dark },\n label: { color: accent.contrastText },\n deleteColor: alpha(accent.contrastText, DELETE_ICON_ON_COLOR_ALPHA),\n };\n}\n\nfunction softPaint(theme: UiTheme, color: ChipColor): ChipPaint {\n if (!isAccented(color)) {\n return {\n container: { backgroundColor: theme.palette.action.selected },\n pressed: { backgroundColor: theme.palette.action.hover },\n label: { color: theme.palette.text.secondary, fontWeight: '600' },\n deleteColor: alpha(theme.palette.text.secondary, DELETE_ICON_ALPHA),\n };\n }\n const accent = theme.palette[color];\n return {\n container: { backgroundColor: alpha(accent.main, SOFT_GROUND_ALPHA) },\n pressed: { backgroundColor: alpha(accent.main, SOFT_HOVER_ALPHA) },\n label: { color: accent.dark, fontWeight: '600' },\n deleteColor: alpha(accent.dark, DELETE_ICON_ALPHA),\n };\n}\n\nfunction outlinedPaint(theme: UiTheme, color: ChipColor): ChipPaint {\n const border: ViewStyle = { backgroundColor: 'transparent', borderWidth: 1, borderStyle: 'solid' };\n if (!isAccented(color)) {\n return {\n container: { ...border, borderColor: neutralBorder(theme) },\n pressed: { backgroundColor: theme.palette.action.hover },\n label: { color: theme.palette.text.primary },\n deleteColor: alpha(theme.palette.text.primary, DELETE_ICON_ALPHA),\n };\n }\n const accent = theme.palette[color];\n return {\n container: { ...border, borderColor: alpha(accent.main, OUTLINED_BORDER_ALPHA) },\n pressed: { backgroundColor: alpha(accent.main, OUTLINED_HOVER_ALPHA) },\n label: { color: accent.main },\n deleteColor: alpha(accent.main, OUTLINED_BORDER_ALPHA),\n };\n}\n\n/**\n * What MUI's chip paints, as React Native styles. `selected` tints an OUTLINED\n * chip with `action.selected` — a filled one is already solid, which is what\n * `Chip.styles.tsx` decided for the web.\n */\nexport function chipPaint(\n theme: UiTheme,\n variant: ChipVariant,\n color: ChipColor,\n selected: boolean,\n): ChipPaint {\n const paint =\n variant === 'outlined' ? outlinedPaint(theme, color) : variant === 'soft' ? softPaint(theme, color) : filledPaint(theme, color);\n if (variant !== 'outlined' || !selected) return paint;\n return {\n ...paint,\n container: { ...paint.container, backgroundColor: theme.palette.action.selected },\n };\n}\n\n/** The pill itself: MUI's height, its 16px radius, and the disabled fade. */\nexport function chipContainerStyle(metrics: ChipSizeMetrics, disabled: boolean): ViewStyle {\n return {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n maxWidth: '100%',\n height: metrics.height,\n borderRadius: CHIP_RADIUS,\n ...(disabled ? { opacity: CHIP_DISABLED_OPACITY } : {}),\n };\n}\n\n/** The label: MUI's 13px, padded by the variant, clipped rather than wrapped. */\nexport function chipLabelStyle(\n theme: UiTheme,\n metrics: ChipSizeMetrics,\n variant: ChipVariant,\n): TextStyle {\n const padding = variant === 'outlined' ? metrics.labelPaddingOutlined : metrics.labelPadding;\n return {\n fontFamily: theme.typography.fontFamily,\n fontSize: CHIP_FONT_SIZE,\n paddingLeft: padding,\n paddingRight: padding,\n flexShrink: 1,\n };\n}\n\n/** The margins MUI gives the leading slot, tucking it under the label's padding. */\nexport function chipLeadingSlotStyle(\n metrics: ChipSizeMetrics,\n variant: ChipVariant,\n slot: 'icon' | 'avatar',\n): ViewStyle {\n const outlined = variant === 'outlined';\n const marginLeft =\n slot === 'icon'\n ? (outlined ? metrics.iconMarginLeftOutlined : metrics.iconMarginLeft)\n : (outlined ? metrics.avatarMarginLeftOutlined : metrics.avatarMarginLeft);\n return {\n marginLeft,\n marginRight: slot === 'icon' ? metrics.iconMarginRight : metrics.avatarMarginRight,\n alignItems: 'center',\n justifyContent: 'center',\n };\n}\n\n/** The delete glyph's own tuck, one pixel tighter when the chip is outlined. */\nexport function chipDeleteSlotStyle(metrics: ChipSizeMetrics, variant: ChipVariant): ViewStyle {\n return {\n marginLeft: metrics.deleteMarginLeft,\n marginRight:\n variant === 'outlined' ? metrics.deleteMarginRightOutlined : metrics.deleteMarginRight,\n alignItems: 'center',\n justifyContent: 'center',\n };\n}\n\n/** The round avatar box MUI draws for an `avatarSrc`. */\nexport function chipAvatarStyle(metrics: ChipSizeMetrics): ImageStyle {\n return {\n width: metrics.avatarSize,\n height: metrics.avatarSize,\n borderRadius: metrics.avatarSize / 2,\n overflow: 'hidden',\n };\n}\n\nexport const chipMetrics = (size: ChipMuiSize): ChipSizeMetrics => CHIP_SIZES[size];\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import "../chunk-R445KMGG.js";
2
2
  import {
3
3
  Tabs
4
- } from "../chunk-CMLIWUBW.js";
4
+ } from "../chunk-QPCHABOZ.js";
5
5
  import "../chunk-GNCSDUGY.js";
6
6
  import "../chunk-QMHS6ZDI.js";
7
7
  import "../chunk-RGVNXES5.js";
@@ -7,7 +7,11 @@ import type { ColorValue, SizeValue } from '../../../tokens/vocabulary';
7
7
  * declaration outputs (`dist/types` and `dist/types-native`), and a native
8
8
  * consumer has no `@mui/material` to resolve a type import against.
9
9
  */
10
- export type ChipVariant = 'filled' | 'outlined';
10
+ /**
11
+ * `soft` is a status chip's look: the colour's tint for a ground and its dark
12
+ * step for ink, so a row of states reads without a row of solid blocks.
13
+ */
14
+ export type ChipVariant = 'filled' | 'outlined' | 'soft';
11
15
  /**
12
16
  * The house size scale, abbreviated like every other component's.
13
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,uBAAuB;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qDAAqD;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"Chip.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAExE;;;;;;GAMG;AACH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,uBAAuB;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qDAAqD;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA2B9C,eAAO,MAAM,IAAI,sGAgDf,CAAC"}
1
+ {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+B9C,eAAO,MAAM,IAAI,sGAgDf,CAAC"}
@@ -58,4 +58,8 @@ export declare const HOVER_SHADOW: {
58
58
  };
59
59
  export declare const CHIP_TRANSITION_MS = 200;
60
60
  export declare const CHIP_TRANSITION_EASING = "cubic-bezier(0.4, 0, 0.2, 1)";
61
+ /** A soft chip's ground: the colour at this alpha over the page. */
62
+ export declare const SOFT_GROUND_ALPHA = 0.14;
63
+ /** A soft chip's hover ground. */
64
+ export declare const SOFT_HOVER_ALPHA = 0.22;
61
65
  //# sourceMappingURL=Chip.metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7C,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,WACQ,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,eAAe,CAqC3D,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,oFAAoF;AACpF,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAIzC,yEAAyE;AACzE,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,YAAY;;;;;CAAsE,CAAC;AAChG,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,sBAAsB,iCAAiC,CAAC"}
1
+ {"version":3,"file":"Chip.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7C,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,WACQ,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,eAAe,CAqC3D,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,oFAAoF;AACpF,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAIzC,yEAAyE;AACzE,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,YAAY;;;;;CAAsE,CAAC;AAChG,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AAErE,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,OAAO,CAAC"}
@@ -14,17 +14,12 @@ export declare const makeKeyDownHandler: (args: ChipKeyArgs & {
14
14
  export declare const avatarFor: (avatar: ChipProps["avatar"], avatarSrc?: string) => ReactElement | undefined;
15
15
  interface ChipStyleArgs {
16
16
  variant: ChipProps['variant'];
17
+ color?: ChipProps['color'];
17
18
  selected?: boolean;
18
19
  clickable?: boolean;
19
20
  disabled?: boolean;
20
21
  }
21
- /**
22
- * Selection styling uses SEMANTIC palette tokens (not hardcoded rgba). A filled
23
- * selected chip keeps MUI's solid `color.main` + contrast text (clear active
24
- * state); an outlined selected chip gets a subtle theme-driven `action.selected`
25
- * tint so it reads as active without muddying the fill.
26
- */
27
- export declare const chipStyles: ({ variant, selected, clickable, disabled, }: ChipStyleArgs) => SxProps<Theme>;
22
+ export declare const chipStyles: ({ variant, color, selected, clickable, disabled, }: ChipStyleArgs) => SxProps<Theme>;
28
23
  export declare const iconWithTestId: (icon: ChipProps["icon"], testId: string) => ReactElement | undefined;
29
24
  export {};
30
25
  //# sourceMappingURL=Chip.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.styles.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC5B,MAAM,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,MACnE,OAAO,aAAa,KAAG,IASvB,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,QAAQ,SAAS,CAAC,QAAQ,CAAC,EAC3B,YAAY,MAAM,KACjB,YAAY,GAAG,SASjB,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AASD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,6CAKxB,aAAa,KAAG,OAAO,CAAC,KAAK,CA2B/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,CAAC,MAAM,CAAC,EACvB,QAAQ,MAAM,KACb,YAAY,GAAG,SAKH,CAAC"}
1
+ {"version":3,"file":"Chip.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/Chip/Chip.styles.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAYjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC5B,MAAM,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,MACnE,OAAO,aAAa,KAAG,IASvB,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,QAAQ,SAAS,CAAC,QAAQ,CAAC,EAC3B,YAAY,MAAM,KACjB,YAAY,GAAG,SASjB,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuCD,eAAO,MAAM,UAAU,GAAI,oDAMxB,aAAa,KAAG,OAAO,CAAC,KAAK,CA4B/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,CAAC,MAAM,CAAC,EACvB,QAAQ,MAAM,KACb,YAAY,GAAG,SAKH,CAAC"}
@@ -6,7 +6,7 @@ import type { BoardConfig } from "./DataViewsBoard";
6
6
  import type { DataViewExport } from "./data-views-export";
7
7
  import type { ScopeConfig } from "./data-views-scopes";
8
8
  import type { DataViewCardSelection } from "./data-views-types";
9
- import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewSyncState, type FilterFieldConfig, type RangeFieldConfig, type RowAction } from "./data-views-types";
9
+ import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewSyncState, type FilterFieldConfig, type QuickFilterConfig, type RangeFieldConfig, type RowAction } from "./data-views-types";
10
10
  import type { DataViewRowDetail } from "./data-views-row-detail";
11
11
  interface DataViewsGridProps<T extends Record<string, unknown>> {
12
12
  rows: T[];
@@ -167,6 +167,20 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
167
167
  inlineFilters?: boolean;
168
168
  /** Keep the inline search visible with no filter fields and no active search. */
169
169
  alwaysShowSearch?: boolean;
170
+ /**
171
+ * One-click filters drawn as toggle chips at the head of the toolbar, each
172
+ * applying one value of a declared pill field. See {@link QuickFilterConfig}.
173
+ */
174
+ quickFilters?: QuickFilterConfig[];
175
+ /**
176
+ * Pin the toolbar to the top of the page's scroll area, and the table's
177
+ * header row right under it, while the rows scroll past. For a list that IS
178
+ * the page: what sits above the grid (title, summaries, notices) scrolls
179
+ * away, and the controls and column names stay in reach. The table keeps its
180
+ * own sideways scroll, which is why the header follows the page scroll
181
+ * rather than relying on `position: sticky` (see `useStickyTableHead`).
182
+ */
183
+ stickyToolbar?: boolean;
170
184
  /** Server-mode wiring; when set the grid is backend-driven (no client filter/sort/paginate). */
171
185
  server?: DataViewServer;
172
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { BoardConfig } from "./DataViewsBoard";
5
5
  import type { DataViewExport } from "./data-views-export";
6
6
  import type { ScopeConfig } from "./data-views-scopes";
7
7
  import type { DataViewRowDetail } from "./data-views-row-detail";
8
- import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewPersistence, type DataViewRouter, type FilterFieldConfig, type RangeFieldConfig, type DataViewCardSelection, type RowAction, type SavedViewSummary } from "./data-views-types";
8
+ import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewPersistence, type DataViewRouter, type FilterFieldConfig, type QuickFilterConfig, type RangeFieldConfig, type DataViewCardSelection, type RowAction, type SavedViewSummary } from "./data-views-types";
9
9
  export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
10
10
  /** The applied-view id read from the URL (`?view=`) on load, or null. */
11
11
  initialViewId?: string | null;
@@ -88,6 +88,10 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
88
88
  inlineFilters?: boolean;
89
89
  /** Keep the inline search visible with no filter fields and no active search. */
90
90
  alwaysShowSearch?: boolean;
91
+ /** One-click toggle chips at the head of the toolbar — see `QuickFilterConfig`. */
92
+ quickFilters?: QuickFilterConfig[];
93
+ /** Pin the toolbar and the table header while the page scrolls — see `DataViewsGrid`. */
94
+ stickyToolbar?: boolean;
91
95
  /** Server-mode wiring (FUT-180): backend-driven rows/total + re-fetch. Omit for client mode. */
92
96
  server?: DataViewServer;
93
97
  /** Seed the initial view state (search/pills/ranges/sort) from the URL when no saved view applies. */
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { DataViewsController } from "./use-data-views-state";
1
2
  /**
2
3
  * TWO EMPTY STATES, NOT ONE.
3
4
  *
@@ -20,4 +21,13 @@ export declare function DataViewsEmpty({ filtered, onClearFilters, emptyState, t
20
21
  emptyState?: React.ReactNode;
21
22
  testIdPrefix: string;
22
23
  }): React.JSX.Element;
24
+ /**
25
+ * The grid renders the FILTERED empty state itself — it is the only party that
26
+ * knows a filter is applied. See {@link DataViewsEmpty}.
27
+ */
28
+ export declare function ShellEmpty<T extends Record<string, unknown>>({ c, emptyState, testIdPrefix, }: {
29
+ c: DataViewsController<T>;
30
+ emptyState?: React.ReactNode;
31
+ testIdPrefix: string;
32
+ }): React.JSX.Element;
23
33
  //# sourceMappingURL=data-views-empty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-empty.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-empty.tsx"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,GACb,EAAE;IACD,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwDpB"}
1
+ {"version":3,"file":"data-views-empty.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-empty.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,GACb,EAAE;IACD,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwDpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC5D,CAAC,EACD,UAAU,EACV,YAAY,GACb,EAAE;IACD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CASpB"}
@@ -21,6 +21,8 @@ interface GridMainProps<T extends Record<string, unknown>> {
21
21
  dataTestId?: string;
22
22
  emptyState?: React.ReactNode;
23
23
  testIdPrefix: string;
24
+ /** The table's header row follows the page under a sticky toolbar. */
25
+ stickyHead?: boolean;
24
26
  }
25
27
  /** Picks the body from the layout context: board, list, cards, or the dense grid. */
26
28
  export declare function GridMain<T extends Record<string, unknown>>(props: GridMainProps<T>): React.JSX.Element;