@persona/design-system 0.7.2 → 0.8.1

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 (592) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/dist/Accordion.d.mts +1 -1
  3. package/dist/AccordionItem.d.mts +1 -1
  4. package/dist/{Action-Cyo6KCsS.d.mts → Action-BwYS9qaG.d.mts} +3 -3
  5. package/dist/Action.d.mts +1 -1
  6. package/dist/AdvancedFilterRuleRow.d.mts +4 -2
  7. package/dist/AdvancedFilterRulesPopover.d.mts +5 -3
  8. package/dist/ArrayValueControl.d.mts +1 -1
  9. package/dist/Attribute.d.mts +3 -3
  10. package/dist/{Badge-BD0Ut46g.mjs → Badge-D-5tbZDw.mjs} +2 -2
  11. package/dist/{Badge-BD0Ut46g.mjs.map → Badge-D-5tbZDw.mjs.map} +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumb-CYXkrKXl.d.mts → Breadcrumb-BADja8tn.d.mts} +1 -1
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-CrXfUK1V.mjs → Breadcrumbs-CNpM0aXm.mjs} +5 -5
  16. package/dist/{Breadcrumbs-CrXfUK1V.mjs.map → Breadcrumbs-CNpM0aXm.mjs.map} +1 -1
  17. package/dist/{Breadcrumbs-CP7eUYUy.d.mts → Breadcrumbs-CxP7ktfM.d.mts} +2 -2
  18. package/dist/Breadcrumbs.d.mts +1 -1
  19. package/dist/{Button-Dhiund3f.d.mts → Button-CnswHEJ2.d.mts} +4 -4
  20. package/dist/Button.d.mts +1 -1
  21. package/dist/{Calendar-CMeIZ0BO.d.mts → Calendar-Cke5IlMI.d.mts} +1 -1
  22. package/dist/Calendar.d.mts +1 -1
  23. package/dist/CalendarBase.d.mts +1 -1
  24. package/dist/{Card-DCYB_mtR.d.mts → Card-Bp6L08H4.d.mts} +3 -3
  25. package/dist/Card.d.mts +1 -1
  26. package/dist/{CardV2-M3o4BELp.mjs → CardV2-DEW6mw_o.mjs} +9 -7
  27. package/dist/{CardV2-M3o4BELp.mjs.map → CardV2-DEW6mw_o.mjs.map} +1 -1
  28. package/dist/{Checkbox-fWj7GkBl.d.mts → Checkbox-DUXws1Os.d.mts} +1 -1
  29. package/dist/{Checkbox-AjL7ucoR.mjs → Checkbox-GibG2pg5.mjs} +3 -3
  30. package/dist/{Checkbox-AjL7ucoR.mjs.map → Checkbox-GibG2pg5.mjs.map} +1 -1
  31. package/dist/Checkbox.d.mts +1 -1
  32. package/dist/CheckboxGroupField-DzdOYIjo.d.mts +25 -0
  33. package/dist/CheckboxGroupField.d.mts +2 -25
  34. package/dist/ChoicesValueControl.d.mts +1 -1
  35. package/dist/{Combobox-C2b9u955.mjs → Combobox-CCDoNF9Y.mjs} +23 -10
  36. package/dist/Combobox-CCDoNF9Y.mjs.map +1 -0
  37. package/dist/{Combobox-CC-Osr57.d.mts → Combobox-CnxmKUQf.d.mts} +3 -3
  38. package/dist/Combobox.d.mts +2 -2
  39. package/dist/{ComboboxBase-Evo0FRxP.d.mts → ComboboxBase-CtNrsPO9.d.mts} +8 -5
  40. package/dist/ComboboxBase.d.mts +1 -1
  41. package/dist/{ComboboxMultiSelect-CvAc0FT3.d.mts → ComboboxMultiSelect-CMH6iVu4.d.mts} +2 -2
  42. package/dist/ComboboxMultiSelect.d.mts +1 -1
  43. package/dist/{ComboboxSingleSelect-CBm7x0oh.d.mts → ComboboxSingleSelect-BLPbLmMY.d.mts} +4 -4
  44. package/dist/ComboboxSingleSelect.d.mts +1 -1
  45. package/dist/{CompactBar-D_2qMK4y.d.mts → CompactBar-BwKIIlWz.d.mts} +4 -4
  46. package/dist/CompactBar.d.mts +1 -1
  47. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs → ConfigFormGroup-BQXN2Pgj.mjs} +2 -2
  48. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs.map → ConfigFormGroup-BQXN2Pgj.mjs.map} +1 -1
  49. package/dist/{ControlBar-B7j9sOr9.d.mts → ControlBar-BJUY6GOX.d.mts} +7 -2
  50. package/dist/ControlBar.d.mts +1 -1
  51. package/dist/DataTable.d.mts +4 -3
  52. package/dist/{DateField-BamAk9_w.d.mts → DateField-BojOHfrv.d.mts} +2 -2
  53. package/dist/DateField.d.mts +1 -1
  54. package/dist/{DatePicker-C3xNSkPG.d.mts → DatePicker-BHVx_i_F.d.mts} +2 -2
  55. package/dist/{DatePicker-IgiUI3Wj.mjs → DatePicker-LPIJrc0n.mjs} +77 -42
  56. package/dist/DatePicker-LPIJrc0n.mjs.map +1 -0
  57. package/dist/DatePicker.d.mts +1 -1
  58. package/dist/{DateRangePicker-C4QKMo2a.d.mts → DateRangePicker-CelDK_44.d.mts} +3 -3
  59. package/dist/DateRangePicker.d.mts +1 -1
  60. package/dist/DateRangeValueControl.d.mts +5 -3
  61. package/dist/DateValueControl.d.mts +8 -5
  62. package/dist/{DropdownButton-BWiXLMfD.mjs → DropdownButton-i5Dmxiq1.mjs} +3 -3
  63. package/dist/{DropdownButton-BWiXLMfD.mjs.map → DropdownButton-i5Dmxiq1.mjs.map} +1 -1
  64. package/dist/DropdownButton.d.mts +2 -2
  65. package/dist/{DropdownMenu-DL5ye-0m.d.mts → DropdownMenu-YtLxcNWt.d.mts} +2 -2
  66. package/dist/{DropdownMenu-CuKSNxc9.mjs → DropdownMenu-j8NWbAvM.mjs} +7 -2
  67. package/dist/DropdownMenu-j8NWbAvM.mjs.map +1 -0
  68. package/dist/DropdownMenu.d.mts +1 -1
  69. package/dist/{ErrorProps-BA0-m_Wp.d.mts → ErrorProps-6dRdJ4QQ.d.mts} +1 -1
  70. package/dist/ErrorProps.d.mts +1 -1
  71. package/dist/{FieldRegistry-bKxrF1gC.d.mts → FieldRegistry-DqO8HiYb.d.mts} +2 -2
  72. package/dist/FieldRegistry.d.mts +1 -1
  73. package/dist/{FilterBar-DhlBLWxw.d.mts → FilterBar-CpAA2Ozk.d.mts} +11 -4
  74. package/dist/FilterBar.d.mts +1 -1
  75. package/dist/FilterPickerMenu.d.mts +2 -2
  76. package/dist/FilterPill.d.mts +1 -1
  77. package/dist/FilterPopover.d.mts +8 -2
  78. package/dist/FloatValueControl.d.mts +1 -1
  79. package/dist/{FormControl-D5xyPkST.d.mts → FormControl-B-s6G9mp.d.mts} +2 -2
  80. package/dist/{FormControl-DnfZTli_.mjs → FormControl-bDxFF0hl.mjs} +3 -3
  81. package/dist/{FormControl-DnfZTli_.mjs.map → FormControl-bDxFF0hl.mjs.map} +1 -1
  82. package/dist/FormControl.d.mts +1 -1
  83. package/dist/FormControlLabel.d.mts +1 -1
  84. package/dist/{FormField-BJZUj6jg.d.mts → FormField-D3k-f3-f.d.mts} +2 -2
  85. package/dist/{FormField-74TPV8-8.mjs → FormField-DbcqNcx2.mjs} +16 -16
  86. package/dist/{FormField-74TPV8-8.mjs.map → FormField-DbcqNcx2.mjs.map} +1 -1
  87. package/dist/FormField.d.mts +1 -1
  88. package/dist/{Grid-DOyYYsvk.mjs → Grid-CeH9E5Ai.mjs} +1 -1
  89. package/dist/{Grid-DOyYYsvk.mjs.map → Grid-CeH9E5Ai.mjs.map} +1 -1
  90. package/dist/{Header-BqEKkEp5.d.mts → Header-2K49LYkR.d.mts} +1 -1
  91. package/dist/Header.d.mts +1 -1
  92. package/dist/{HelperTooltip-mOVSuEB8.d.mts → HelperTooltip-CTHUM2nC.d.mts} +2 -2
  93. package/dist/HelperTooltip.d.mts +1 -1
  94. package/dist/HighlightedText.d.mts +61 -0
  95. package/dist/{HoverCopyableField-CN3gl0ny.mjs → HoverCopyableField-BARZLhfO.mjs} +3 -3
  96. package/dist/{HoverCopyableField-CN3gl0ny.mjs.map → HoverCopyableField-BARZLhfO.mjs.map} +1 -1
  97. package/dist/{IconButton-CqTPMhjV.mjs → IconButton-BHFCjvzs.mjs} +1 -1
  98. package/dist/{IconButton-CqTPMhjV.mjs.map → IconButton-BHFCjvzs.mjs.map} +1 -1
  99. package/dist/{IconButton-CjPFhpVG.d.mts → IconButton-D5hx405r.d.mts} +2 -2
  100. package/dist/IconButton.d.mts +1 -1
  101. package/dist/ImageTile.d.mts +1 -1
  102. package/dist/InlineCombobox.d.mts +1 -1
  103. package/dist/InlineInput.d.mts +1 -1
  104. package/dist/{Input-C_3QwAAt.mjs → Input-BQN97Hzm.mjs} +7 -3
  105. package/dist/Input-BQN97Hzm.mjs.map +1 -0
  106. package/dist/{Input-CZ_6KWDN.d.mts → Input-BQbcIiVj.d.mts} +3 -3
  107. package/dist/Input.d.mts +1 -1
  108. package/dist/{InputProps-lag6BM5h.d.mts → InputProps-DT1ZReZS.d.mts} +2 -2
  109. package/dist/InputProps.d.mts +1 -1
  110. package/dist/IntegerValueControl.d.mts +1 -1
  111. package/dist/Link-Bzm4AL5J.mjs +79 -0
  112. package/dist/Link-Bzm4AL5J.mjs.map +1 -0
  113. package/dist/Link.d.mts +1 -1
  114. package/dist/{ListBox-nYAdYVQx.d.mts → ListBox-CdqRwBvA.d.mts} +7 -7
  115. package/dist/{ListBox-D4j4LCT3.mjs → ListBox-DOqN9DNl.mjs} +33 -16
  116. package/dist/ListBox-DOqN9DNl.mjs.map +1 -0
  117. package/dist/ListBox.d.mts +1 -1
  118. package/dist/ListBoxField-Bl2WLplO.d.mts +51 -0
  119. package/dist/ListBoxField.d.mts +2 -51
  120. package/dist/{LoadingShimmer-Dizk2sZu.mjs → LoadingShimmer-Ds7rvIUN.mjs} +13 -8
  121. package/dist/LoadingShimmer-Ds7rvIUN.mjs.map +1 -0
  122. package/dist/LoadingShimmer.d.mts +1 -1
  123. package/dist/{LogicRow-k4ZPtjN0.d.mts → LogicRow-CwMAn1sh.d.mts} +3 -3
  124. package/dist/LogicRow.d.mts +1 -1
  125. package/dist/MaskedInput.d.mts +1 -1
  126. package/dist/{Menu-Bu7-KBhp.d.mts → Menu-CUN9bmc1.d.mts} +3 -3
  127. package/dist/{Menu-Cd6oxjAe.mjs → Menu-DjW2b3Wk.mjs} +1 -1
  128. package/dist/{Menu-Cd6oxjAe.mjs.map → Menu-DjW2b3Wk.mjs.map} +1 -1
  129. package/dist/Menu.d.mts +1 -1
  130. package/dist/{MiddleTruncatedText-CO58jrNF.mjs → MiddleTruncatedText-DoTyfMem.mjs} +2 -2
  131. package/dist/{MiddleTruncatedText-CO58jrNF.mjs.map → MiddleTruncatedText-DoTyfMem.mjs.map} +1 -1
  132. package/dist/{Modal-Dwq-QBw_.d.mts → Modal-CGXJGrKg.d.mts} +2 -2
  133. package/dist/{Modal-BN0K8QXi.mjs → Modal-DHLPK65-.mjs} +6 -4
  134. package/dist/Modal-DHLPK65-.mjs.map +1 -0
  135. package/dist/Modal.d.mts +1 -1
  136. package/dist/{PageHeader-BTtm3hRQ.mjs → PageHeader-eI4RM_uL.mjs} +2 -2
  137. package/dist/{PageHeader-BTtm3hRQ.mjs.map → PageHeader-eI4RM_uL.mjs.map} +1 -1
  138. package/dist/PageHeader.d.mts +1 -1
  139. package/dist/{PageSelector-CeGC84N1.d.mts → PageSelector-kAfYxEky.d.mts} +3 -3
  140. package/dist/PageSelector.d.mts +1 -1
  141. package/dist/{Pagination-CPd4mSnw.mjs → Pagination-6BDOn9bX.mjs} +6 -6
  142. package/dist/Pagination-6BDOn9bX.mjs.map +1 -0
  143. package/dist/{Pagination-H-CcXrCD.d.mts → Pagination-Bhr7xyd2.d.mts} +2 -2
  144. package/dist/Pagination.d.mts +1 -1
  145. package/dist/{Pii-Dz4woKd8.mjs → Pii-DhL1gblz.mjs} +2 -2
  146. package/dist/{Pii-Dz4woKd8.mjs.map → Pii-DhL1gblz.mjs.map} +1 -1
  147. package/dist/{PillShell-BQC-k7Rl.d.mts → PillShell-CVJL1k5I.d.mts} +2 -2
  148. package/dist/PillShell.d.mts +1 -1
  149. package/dist/{Popover-opVa9Xhc.mjs → Popover-CbYaWrAy.mjs} +15 -2
  150. package/dist/Popover-CbYaWrAy.mjs.map +1 -0
  151. package/dist/{ProgressIndicator-3A4Aqci6.mjs → ProgressIndicator-BpF3XLn3.mjs} +3 -3
  152. package/dist/ProgressIndicator-BpF3XLn3.mjs.map +1 -0
  153. package/dist/{ProgressIndicator-DbOLOaxJ.d.mts → ProgressIndicator-CYyM6OSx.d.mts} +1 -1
  154. package/dist/ProgressIndicator.d.mts +1 -1
  155. package/dist/{PseudoClassProps-CHtBNv8B.d.mts → PseudoClassProps-BOVN6Etr.d.mts} +1 -1
  156. package/dist/PseudoClassProps.d.mts +1 -1
  157. package/dist/{Radio-Cxt89w8s.mjs → Radio-DPaX-9LH.mjs} +2 -2
  158. package/dist/{Radio-Cxt89w8s.mjs.map → Radio-DPaX-9LH.mjs.map} +1 -1
  159. package/dist/{RadioGroup-BjrfVPZQ.d.mts → RadioGroup-C0l0pdEt.d.mts} +1 -1
  160. package/dist/{RadioGroup-B6Cg1kdm.mjs → RadioGroup-D7f4m2Uc.mjs} +2 -2
  161. package/dist/{RadioGroup-B6Cg1kdm.mjs.map → RadioGroup-D7f4m2Uc.mjs.map} +1 -1
  162. package/dist/RadioGroup.d.mts +1 -1
  163. package/dist/{RangeCalendar-CPnLaM-J.d.mts → RangeCalendar-BJn9V3iN.d.mts} +2 -2
  164. package/dist/RangeCalendar.d.mts +1 -1
  165. package/dist/RangeCalendarPresets.d.mts +1 -1
  166. package/dist/{RouterContext-CbvHIl4K.d.mts → RouterContext-BLrzYlJ_.d.mts} +2 -2
  167. package/dist/RouterContext.d.mts +1 -1
  168. package/dist/{RouterLink-v9AG9fYa.d.mts → RouterLink-BHXjhqps.d.mts} +2 -2
  169. package/dist/RouterLink.d.mts +1 -1
  170. package/dist/RuleEditorFields.d.mts +4 -2
  171. package/dist/RulesPill.d.mts +1 -1
  172. package/dist/{SearchInput-CIjwmT8R.d.mts → SearchInput-Buh8LdIL.d.mts} +2 -2
  173. package/dist/SearchInput.d.mts +1 -1
  174. package/dist/SectionHeading.d.mts +1 -1
  175. package/dist/{SegmentedControl-Crr_aHAs.d.mts → SegmentedControl-B9qLyIIW.d.mts} +1 -1
  176. package/dist/{SegmentedControl-BcwfLuHA.mjs → SegmentedControl-zEvBtVj0.mjs} +3 -3
  177. package/dist/SegmentedControl-zEvBtVj0.mjs.map +1 -0
  178. package/dist/SegmentedControl.d.mts +1 -1
  179. package/dist/{Select-BstCz8P1.mjs → Select-BoZuM_e9.mjs} +10 -8
  180. package/dist/Select-BoZuM_e9.mjs.map +1 -0
  181. package/dist/{Select-CJQeuCiF.d.mts → Select-Cv_9PLOt.d.mts} +3 -3
  182. package/dist/Select.d.mts +1 -1
  183. package/dist/SmartTextInput.d.mts +107 -0
  184. package/dist/SmartTextInputCodeDialog.d.mts +18 -0
  185. package/dist/SmartTextInputField.d.mts +25 -0
  186. package/dist/SmartTextInputFunctionDialog.d.mts +37 -0
  187. package/dist/SmartTextInputListbox.d.mts +26 -0
  188. package/dist/SmartTextInputPopover.d.mts +45 -0
  189. package/dist/{Spinner-DplDSBqf.mjs → Spinner-CarSRiBF.mjs} +1 -1
  190. package/dist/{Spinner-DplDSBqf.mjs.map → Spinner-CarSRiBF.mjs.map} +1 -1
  191. package/dist/{Stack-ChsImaEY.mjs → Stack-CEPzs4Pb.mjs} +1 -1
  192. package/dist/{Stack-ChsImaEY.mjs.map → Stack-CEPzs4Pb.mjs.map} +1 -1
  193. package/dist/{Stack-RVptVTVi.d.mts → Stack-XzBzPvSV.d.mts} +1 -1
  194. package/dist/Stack.d.mts +1 -1
  195. package/dist/StatusIndicator-bEnMWV_S.mjs +315 -0
  196. package/dist/StatusIndicator-bEnMWV_S.mjs.map +1 -0
  197. package/dist/{Sticker-C3Eb13OQ.mjs → Sticker-B-fU8lgu.mjs} +5 -8
  198. package/dist/Sticker-B-fU8lgu.mjs.map +1 -0
  199. package/dist/{Sticker-BVX38LKi.d.mts → Sticker-DGfNuxUK.d.mts} +4 -4
  200. package/dist/Sticker.d.mts +1 -1
  201. package/dist/StringValueControl.d.mts +1 -1
  202. package/dist/Tab.d.mts +1 -1
  203. package/dist/{TabBar-BepWbJHz.mjs → TabBar-BSl5v5aa.mjs} +4 -7
  204. package/dist/{TabBar-BepWbJHz.mjs.map → TabBar-BSl5v5aa.mjs.map} +1 -1
  205. package/dist/{Table-DFiSWroB.d.mts → Table-B2V5tlfA.d.mts} +1 -1
  206. package/dist/{Table-B1gRr2XT.mjs → Table-msXj0glu.mjs} +22 -3
  207. package/dist/Table-msXj0glu.mjs.map +1 -0
  208. package/dist/Table.d.mts +1 -1
  209. package/dist/{TableBody-Di9JYHDN.d.mts → TableBody-SlQe4Jyp.d.mts} +1 -1
  210. package/dist/TableBody.d.mts +1 -1
  211. package/dist/{TableBox-DAQ3Plqx.mjs → TableBox-CF1_Fk0j.mjs} +22 -17
  212. package/dist/TableBox-CF1_Fk0j.mjs.map +1 -0
  213. package/dist/TableBox.d.mts +2 -2
  214. package/dist/{TableBoxCell-D6h1X5ph.d.mts → TableBoxCell-BRhGeUnO.d.mts} +6 -6
  215. package/dist/TableBoxCell.d.mts +1 -1
  216. package/dist/TableBoxField-Cq9M1upV.d.mts +103 -0
  217. package/dist/TableBoxField.d.mts +2 -103
  218. package/dist/{TableBoxRow-C6l6J4mq.d.mts → TableBoxRow-DZzRYoID.d.mts} +3 -3
  219. package/dist/TableBoxRow.d.mts +1 -1
  220. package/dist/{TableBoxRowActions-CsLN1b1J.d.mts → TableBoxRowActions-4-j3flJq.d.mts} +2 -2
  221. package/dist/TableBoxRowActions.d.mts +1 -1
  222. package/dist/{TableCell-WSDXw79Q.d.mts → TableCell-D5Sqb6iO.d.mts} +2 -2
  223. package/dist/TableCell.d.mts +1 -1
  224. package/dist/{TableControls-cswMgBAr.d.mts → TableControls-B-LakH-8.d.mts} +4 -3
  225. package/dist/{TableControls-BxuPCUQS.mjs → TableControls-CqW_nyBY.mjs} +286 -78
  226. package/dist/TableControls-CqW_nyBY.mjs.map +1 -0
  227. package/dist/TableControls.d.mts +1 -1
  228. package/dist/{TableControlsContext-Cbh8wear.d.mts → TableControlsContext-Dh1YVmBM.d.mts} +2 -2
  229. package/dist/TableControlsContext.d.mts +1 -1
  230. package/dist/{TableHead-CkL1fEg2.d.mts → TableHead-BCrVa0BY.d.mts} +1 -1
  231. package/dist/TableHead.d.mts +1 -1
  232. package/dist/{TableHeaderCell-K9Ry6YqO.d.mts → TableHeaderCell-CcEkDozs.d.mts} +1 -1
  233. package/dist/TableHeaderCell.d.mts +1 -1
  234. package/dist/{TableLayout-CYRGIFEl.d.mts → TableLayout-Bhj1QBBz.d.mts} +1 -1
  235. package/dist/TableLayout.d.mts +1 -1
  236. package/dist/{TableRow-DMHlo1eg.d.mts → TableRow-Cy1y7b9S.d.mts} +2 -2
  237. package/dist/TableRow.d.mts +1 -1
  238. package/dist/TableTH.d.mts +1 -1
  239. package/dist/{TableViewConfigurationDropdown-BRbOcVNc.d.mts → TableViewConfigurationDropdown-BzygLtGm.d.mts} +2 -2
  240. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  241. package/dist/{TechnicalSticker-_LtE-PRY.mjs → TechnicalSticker-B6T7cHHc.mjs} +2 -2
  242. package/dist/{TechnicalSticker-_LtE-PRY.mjs.map → TechnicalSticker-B6T7cHHc.mjs.map} +1 -1
  243. package/dist/{Text-B69gp3X_.d.mts → Text-BVGJ-Nlw.d.mts} +3 -3
  244. package/dist/Text.d.mts +1 -1
  245. package/dist/{TextArea-Cjsdl07-.d.mts → TextArea-Bzj593VO.d.mts} +2 -2
  246. package/dist/{TextArea-CcxltuBh.mjs → TextArea-C1CmFRiz.mjs} +2 -2
  247. package/dist/{TextArea-CcxltuBh.mjs.map → TextArea-C1CmFRiz.mjs.map} +1 -1
  248. package/dist/TextArea.d.mts +1 -1
  249. package/dist/{TextUnderlineTooltip-DDzKLCeX.d.mts → TextUnderlineTooltip-CgFmtqF_.d.mts} +2 -2
  250. package/dist/TextUnderlineTooltip.d.mts +1 -1
  251. package/dist/Tile.d.mts +1 -1
  252. package/dist/Toast.d.mts +1 -1
  253. package/dist/{Toggle-DWbJOwf3.mjs → Toggle-CntyMUPJ.mjs} +9 -4
  254. package/dist/Toggle-CntyMUPJ.mjs.map +1 -0
  255. package/dist/{Toggle-B5sSdb_q.d.mts → Toggle-bSu1xAaq.d.mts} +1 -1
  256. package/dist/Toggle.d.mts +1 -1
  257. package/dist/{Tooltip-x1pFf-Mj.d.mts → Tooltip-Duw4Fz1t.d.mts} +2 -2
  258. package/dist/Tooltip.d.mts +1 -1
  259. package/dist/{TruncatedText-BE8FuEQm.d.mts → TruncatedText-CbTpX_R1.d.mts} +1 -1
  260. package/dist/VersionHistory.d.mts +23 -0
  261. package/dist/VersionHistoryItem-D05QYej7.d.mts +54 -0
  262. package/dist/VersionHistoryItem.d.mts +2 -0
  263. package/dist/WizardModal.d.mts +3 -3
  264. package/dist/{accordionTitleTypography-BYhjSN9t.d.mts → accordionTitleTypography-Leehcmb3.d.mts} +2 -2
  265. package/dist/accordionTitleTypography.d.mts +1 -1
  266. package/dist/assertNever.d.mts +5 -0
  267. package/dist/chainTypes-D8SGRGba.d.mts +17 -0
  268. package/dist/{codec-BcgsGCHE.d.mts → codec-Vsztf4fe.d.mts} +2 -2
  269. package/dist/codec.d.mts +1 -1
  270. package/dist/{color-LH7zKfKo.d.mts → color-CrlF3pba.d.mts} +9 -4
  271. package/dist/components/Accordion/index.d.mts +1 -1
  272. package/dist/components/Accordion/index.mjs +1 -1
  273. package/dist/components/Attribute/index.mjs +2 -2
  274. package/dist/components/Badge/index.mjs +1 -1
  275. package/dist/components/Banner/index.mjs +1 -1
  276. package/dist/components/BottomPanel/index.mjs +5 -3
  277. package/dist/components/BottomPanel/index.mjs.map +1 -1
  278. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  279. package/dist/components/Breadcrumbs/index.mjs +1 -1
  280. package/dist/components/Button/index.d.mts +2 -2
  281. package/dist/components/Button/index.mjs +1 -1
  282. package/dist/components/ButtonGroup/index.mjs +2 -2
  283. package/dist/components/Card/index.d.mts +2 -2
  284. package/dist/components/CardV2/index.d.mts +1 -1
  285. package/dist/components/CardV2/index.mjs +1 -1
  286. package/dist/components/Checkbox/index.d.mts +1 -1
  287. package/dist/components/Checkbox/index.mjs +1 -1
  288. package/dist/components/CodeHighlight/index.mjs +3 -1
  289. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  290. package/dist/components/Combobox/index.d.mts +2 -2
  291. package/dist/components/Combobox/index.mjs +1 -1
  292. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  293. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  294. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  295. package/dist/components/DataTable/index.mjs +27 -16
  296. package/dist/components/DataTable/index.mjs.map +1 -1
  297. package/dist/components/DataTable/types.d.mts +2 -2
  298. package/dist/components/DatePicker/index.d.mts +5 -5
  299. package/dist/components/DatePicker/index.mjs +1 -1
  300. package/dist/components/DropdownButton/index.mjs +1 -1
  301. package/dist/components/DropdownMenu/index.d.mts +1 -1
  302. package/dist/components/DropdownMenu/index.mjs +1 -1
  303. package/dist/components/FloatingPanel/index.mjs +10 -7
  304. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  305. package/dist/components/FormControl/index.d.mts +2 -2
  306. package/dist/components/FormControl/index.mjs +2 -2
  307. package/dist/components/FormField/index.d.mts +6 -6
  308. package/dist/components/FormField/index.mjs +1 -1
  309. package/dist/components/Grid/index.mjs +1 -1
  310. package/dist/components/HoverCopyableField/index.mjs +1 -1
  311. package/dist/components/ImageTile/index.mjs +13 -9
  312. package/dist/components/ImageTile/index.mjs.map +1 -1
  313. package/dist/components/Input/index.d.mts +1 -1
  314. package/dist/components/Input/index.mjs +1 -1
  315. package/dist/components/Link/index.mjs +1 -78
  316. package/dist/components/ListBox/index.d.mts +3 -3
  317. package/dist/components/ListBox/index.mjs +1 -1
  318. package/dist/components/LoadingShimmer/index.mjs +1 -1
  319. package/dist/components/MaskedInput/index.mjs +1 -1
  320. package/dist/components/Menu/index.d.mts +1 -1
  321. package/dist/components/Menu/index.mjs +1 -1
  322. package/dist/components/Modal/index.d.mts +1 -1
  323. package/dist/components/Modal/index.mjs +1 -1
  324. package/dist/components/PageHeader/index.mjs +1 -1
  325. package/dist/components/Pagination/index.d.mts +3 -3
  326. package/dist/components/Pagination/index.mjs +1 -1
  327. package/dist/components/Pii/index.mjs +1 -1
  328. package/dist/components/Popover/index.mjs +1 -1
  329. package/dist/components/ProgressBar/index.mjs +1 -2
  330. package/dist/components/ProgressBar/index.mjs.map +1 -1
  331. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  332. package/dist/components/ProgressIndicator/index.mjs +1 -1
  333. package/dist/components/Radio/index.mjs +1 -1
  334. package/dist/components/RadioGroup/index.d.mts +1 -1
  335. package/dist/components/RadioGroup/index.mjs +1 -1
  336. package/dist/components/RightPanel/index.mjs +10 -7
  337. package/dist/components/RightPanel/index.mjs.map +1 -1
  338. package/dist/components/SegmentedControl/index.d.mts +1 -1
  339. package/dist/components/SegmentedControl/index.mjs +1 -1
  340. package/dist/components/Select/index.d.mts +1 -1
  341. package/dist/components/Select/index.mjs +1 -1
  342. package/dist/components/Slider/index.mjs +1 -1
  343. package/dist/components/Slider/index.mjs.map +1 -1
  344. package/dist/components/SmartTextInput/index.d.mts +5 -0
  345. package/dist/components/SmartTextInput/index.mjs +2035 -0
  346. package/dist/components/SmartTextInput/index.mjs.map +1 -0
  347. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +1 -1
  348. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +2 -105
  349. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +1 -1
  350. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +3 -72
  351. package/dist/components/Spinner/index.mjs +1 -1
  352. package/dist/components/Stack/index.d.mts +1 -1
  353. package/dist/components/Stack/index.mjs +1 -1
  354. package/dist/components/StatusIndicator/index.mjs +1 -314
  355. package/dist/components/Sticker/index.d.mts +1 -1
  356. package/dist/components/Sticker/index.mjs +1 -1
  357. package/dist/components/TabBar/index.mjs +1 -1
  358. package/dist/components/Table/index.d.mts +8 -8
  359. package/dist/components/Table/index.mjs +1 -1
  360. package/dist/components/TableBox/index.d.mts +2 -2
  361. package/dist/components/TableBox/index.mjs +1 -1
  362. package/dist/components/TechnicalSticker/index.mjs +1 -1
  363. package/dist/components/Text/index.d.mts +1 -1
  364. package/dist/components/TextArea/index.d.mts +1 -1
  365. package/dist/components/TextArea/index.mjs +1 -1
  366. package/dist/components/Tile/index.mjs +2 -2
  367. package/dist/components/Toast/index.mjs +2 -2
  368. package/dist/components/Toast/index.mjs.map +1 -1
  369. package/dist/components/Toggle/index.d.mts +1 -1
  370. package/dist/components/Toggle/index.mjs +1 -1
  371. package/dist/components/Tooltip/index.d.mts +3 -3
  372. package/dist/components/VersionHistory/index.d.mts +3 -0
  373. package/dist/components/VersionHistory/index.mjs +389 -0
  374. package/dist/components/VersionHistory/index.mjs.map +1 -0
  375. package/dist/compound-expression.d.mts +1 -1
  376. package/dist/{constants-BpwnTzcv.d.mts → constants-CQUCM6__.d.mts} +1 -1
  377. package/dist/constants.d.mts +1 -1
  378. package/dist/{createPath-Bst12Uxr.d.mts → createPath-Bq7wYGt_.d.mts} +2 -2
  379. package/dist/createPath.d.mts +1 -1
  380. package/dist/{date-filter-CZeChs9T.mjs → date-filter-D6IfCkwp.mjs} +1 -1
  381. package/dist/{date-filter-CZeChs9T.mjs.map → date-filter-D6IfCkwp.mjs.map} +1 -1
  382. package/dist/{date-range-rule-value-C4ir2Y8W.d.mts → date-range-rule-value-DVhMQP4-.d.mts} +2 -2
  383. package/dist/date-range-rule-value.d.mts +1 -1
  384. package/dist/{date-rule-intent-gKmuxMVA.d.mts → date-rule-intent-BwQ6OTVD.d.mts} +3 -3
  385. package/dist/date-rule-intent.d.mts +1 -1
  386. package/dist/display.d.mts +2 -2
  387. package/dist/fieldPickerOptions.d.mts +2 -2
  388. package/dist/{filter-size-context-BOpH6pBm.d.mts → filter-size-context-BjTzcZwZ.d.mts} +2 -2
  389. package/dist/filter-size-context.d.mts +1 -1
  390. package/dist/format-date-value.d.mts +5 -0
  391. package/dist/helpers.d.mts +1 -1
  392. package/dist/{index-C2-PBfN3.d.mts → index-BFIFjR7Q.d.mts} +2 -2
  393. package/dist/{index-BXdrzR0c.d.mts → index-BhDvrF4l.d.mts} +4 -4
  394. package/dist/{index-c0aXmZV9.d.mts → index-C-xpEL8b.d.mts} +2 -2
  395. package/dist/index-irNqT1qQ2.d.mts +1 -0
  396. package/dist/index.d.mts +1 -1
  397. package/dist/index2.d.mts +1 -1
  398. package/dist/index3.d.mts +3 -3
  399. package/dist/index4.d.mts +1 -1
  400. package/dist/index5.d.mts +14 -14
  401. package/dist/{input-DVJhMlxU.d.mts → input-DpHBIUpP.d.mts} +3 -3
  402. package/dist/inputFields-BVDurw3L.d.mts +71 -0
  403. package/dist/inputFields.d.mts +2 -71
  404. package/dist/{intersperse-Bxcrxj2Q.mjs → intersperse-bvY2gibK.mjs} +1 -1
  405. package/dist/{intersperse-Bxcrxj2Q.mjs.map → intersperse-bvY2gibK.mjs.map} +1 -1
  406. package/dist/{jsonSchema-DmdZYC4a.d.mts → jsonSchema-Bl-qzgrr.d.mts} +34 -2
  407. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  408. package/dist/lib/PDSProvider.d.mts +2 -2
  409. package/dist/lib/TruncatedText.d.mts +1 -1
  410. package/dist/lib/TruncatedText.mjs +1 -1
  411. package/dist/lib/TruncatedText.mjs.map +1 -1
  412. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  413. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  414. package/dist/lib/TruncatedTextWithTooltip.mjs.map +1 -1
  415. package/dist/lib/chainTypes.d.mts +2 -0
  416. package/dist/lib/chainTypes.mjs +0 -0
  417. package/dist/lib/color.d.mts +2 -2
  418. package/dist/lib/color.mjs +18 -11
  419. package/dist/lib/color.mjs.map +1 -1
  420. package/dist/lib/customFunctionSchema.d.mts +49 -0
  421. package/dist/lib/customFunctionSchema.mjs +299 -0
  422. package/dist/lib/customFunctionSchema.mjs.map +1 -0
  423. package/dist/lib/date-filter/index.d.mts +2 -2
  424. package/dist/lib/date-filter/index.mjs +1 -1
  425. package/dist/lib/jsonSchema.d.mts +2 -2
  426. package/dist/lib/jsonSchema.mjs +26 -1
  427. package/dist/lib/jsonSchema.mjs.map +1 -1
  428. package/dist/lib/jsonSchemaType.d.mts +7 -0
  429. package/dist/lib/jsonSchemaType.mjs +31 -0
  430. package/dist/lib/jsonSchemaType.mjs.map +1 -0
  431. package/dist/lib/letPointerDownReachDocument.d.mts +22 -0
  432. package/dist/lib/letPointerDownReachDocument.mjs +25 -0
  433. package/dist/lib/letPointerDownReachDocument.mjs.map +1 -0
  434. package/dist/lib/message.d.mts +1 -1
  435. package/dist/lib/methodChain.d.mts +3 -66
  436. package/dist/lib/methodChain.mjs +1 -238
  437. package/dist/lib/methodChainNormalize.d.mts +2 -2
  438. package/dist/lib/methodChainTypes.d.mts +2 -23
  439. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  440. package/dist/lib/platformObject.d.mts +38 -0
  441. package/dist/lib/platformObject.mjs +79 -0
  442. package/dist/lib/platformObject.mjs.map +1 -0
  443. package/dist/lib/pseudoClass.d.mts +1 -1
  444. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  445. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  446. package/dist/lib/router/index.d.mts +5 -5
  447. package/dist/lib/schemaOptions.d.mts +2 -0
  448. package/dist/lib/schemaOptions.mjs +481 -0
  449. package/dist/lib/schemaOptions.mjs.map +1 -0
  450. package/dist/lib/semanticColor.d.mts +1 -1
  451. package/dist/lib/snakifyPath.d.mts +5 -0
  452. package/dist/lib/snakifyPath.mjs +11 -0
  453. package/dist/lib/snakifyPath.mjs.map +1 -0
  454. package/dist/lib/useChain.d.mts +2 -0
  455. package/dist/lib/useChain.mjs +2 -0
  456. package/dist/listbox-options-BjOkovND.d.mts +38 -0
  457. package/dist/listbox-options.d.mts +2 -0
  458. package/dist/{message-CKSLIKF0.d.mts → message-w_1-kTDE.d.mts} +1 -1
  459. package/dist/methodChain-B5vZEOff.d.mts +66 -0
  460. package/dist/methodChain-L_h8Z8Bx.mjs +241 -0
  461. package/dist/methodChain-L_h8Z8Bx.mjs.map +1 -0
  462. package/dist/methodChainTypes-BVkTI8MX.d.mts +23 -0
  463. package/dist/mixins/focus.d.mts +1 -1
  464. package/dist/mixins/hoverable.d.mts +2 -2
  465. package/dist/mixins/input.d.mts +1 -1
  466. package/dist/mixins/input.mjs +6 -14
  467. package/dist/mixins/input.mjs.map +1 -1
  468. package/dist/mixins/menuItem.d.mts +2 -2
  469. package/dist/mixins/scrollbar.d.mts +10 -0
  470. package/dist/mixins/scrollbar.mjs +31 -0
  471. package/dist/mixins/scrollbar.mjs.map +1 -0
  472. package/dist/mixins/text.d.mts +1 -1
  473. package/dist/{operators-1_jTgYRX.d.mts → operators-BG82-g3M.d.mts} +9 -3
  474. package/dist/operators.d.mts +2 -2
  475. package/dist/{palette-CMOEyNPH.d.mts → palette-C8tyI81D.d.mts} +3 -3
  476. package/dist/palette.d.mts +1 -1
  477. package/dist/{parser-Kxos6siN.mjs → parser-BeTiVjRs.mjs} +3 -2
  478. package/dist/{parser-Kxos6siN.mjs.map → parser-BeTiVjRs.mjs.map} +1 -1
  479. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  480. package/dist/patterns/PageLayout/index.mjs +2 -2
  481. package/dist/{components → patterns}/WizardModal/index.mjs +5 -5
  482. package/dist/patterns/WizardModal/index.mjs.map +1 -0
  483. package/dist/reactRouterFallback.d.mts +1 -1
  484. package/dist/relative-date-label.d.mts +1 -1
  485. package/dist/safe-parse.d.mts +23 -0
  486. package/dist/schemaOptions-DGca6x7E.d.mts +173 -0
  487. package/dist/{semantic-BXwNUd4a.d.mts → semantic-D1661f_6.d.mts} +2 -2
  488. package/dist/{semanticColor-Cru2gSys.d.mts → semanticColor-Bg0H3RUL.d.mts} +3 -3
  489. package/dist/{text-CxIup7HJ.d.mts → text-Iw9DKpbZ.d.mts} +1 -1
  490. package/dist/{theme-CW6qlONZ.d.mts → theme-BB1B6Wkz.d.mts} +3 -3
  491. package/dist/theme.d.mts +1 -1
  492. package/dist/time-range.d.mts +7 -0
  493. package/dist/tone.d.mts +3 -3
  494. package/dist/tree.d.mts +9 -0
  495. package/dist/{types-3iEDsymE.d.mts → types-B0ilOIfE.d.mts} +2 -2
  496. package/dist/types-BYRTxB0a.d.mts +72 -0
  497. package/dist/{types-ChkiGhjQ.d.mts → types-CI2bPi02.d.mts} +1 -1
  498. package/dist/types-Cs6CdZCO.d.mts +83 -0
  499. package/dist/{types-B-stjYNc.d.mts → types-D1DijcJv.d.mts} +1 -1
  500. package/dist/{types-YojUycQK.d.mts → types-DZTbvdpO.d.mts} +1 -1
  501. package/dist/{types-g-aqbnek.d.mts → types-DdTu747j.d.mts} +1 -1
  502. package/dist/{types-BEjWTkZV.d.mts → types-Dy3lZv9z.d.mts} +7 -2
  503. package/dist/types-M-rsm1Km.d.mts +105 -0
  504. package/dist/types.d.mts +1 -1
  505. package/dist/types2.d.mts +1 -1
  506. package/dist/types3.d.mts +1 -1
  507. package/dist/types4.d.mts +1 -1
  508. package/dist/types5.d.mts +1 -1
  509. package/dist/types6.d.mts +1 -1
  510. package/dist/types7.d.mts +2 -0
  511. package/dist/{url-state-CHK2N2fA.d.mts → url-state-DWA7UFxS.d.mts} +2 -2
  512. package/dist/url-state.d.mts +1 -1
  513. package/dist/useChain-CEsXE2Bx.d.mts +77 -0
  514. package/dist/useChain-CKqYGdx4.mjs +4589 -0
  515. package/dist/useChain-CKqYGdx4.mjs.map +1 -0
  516. package/dist/useChainAtCursor.d.mts +87 -0
  517. package/dist/useCodeChainFunctionPanel.d.mts +26 -0
  518. package/dist/useComboboxFooterAction.d.mts +1 -1
  519. package/dist/{useFilterStateV2-B26e5iUx.d.mts → useFilterStateV2-DoJ9lyJx.d.mts} +3 -3
  520. package/dist/useFilterStateV2.d.mts +1 -1
  521. package/dist/{useFormField-BzhMbl5P.mjs → useFormField-BAmkdxtA.mjs} +2 -2
  522. package/dist/{useFormField-BzhMbl5P.mjs.map → useFormField-BAmkdxtA.mjs.map} +1 -1
  523. package/dist/{useFormField-DPFClB5h.d.mts → useFormField-BtnAYcHV.d.mts} +2 -2
  524. package/dist/useFormField.d.mts +1 -1
  525. package/dist/{useFormGroup-CH3kiXoa.mjs → useFormGroup-BZayb9fZ.mjs} +1 -1
  526. package/dist/{useFormGroup-CH3kiXoa.mjs.map → useFormGroup-BZayb9fZ.mjs.map} +1 -1
  527. package/dist/{useLocationPathname-CnRd_Rzn.d.mts → useLocationPathname-pLyLOrAi.d.mts} +1 -1
  528. package/dist/useLocationPathname.d.mts +1 -1
  529. package/dist/{useTableBoxDragAndDrop-DWlG5vhl.d.mts → useTableBoxDragAndDrop-wjc_LCpC.d.mts} +1 -1
  530. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  531. package/dist/useTruncation.d.mts +1 -1
  532. package/dist/{utilities-BcGuP8Fd.d.mts → utilities-DL18UdPs.d.mts} +1 -1
  533. package/dist/utilities.d.mts +1 -1
  534. package/dist/utils/storybook.mjs +1 -1
  535. package/dist/utils/testing.d.mts +1 -1
  536. package/dist/utils.d.mts +1 -1
  537. package/dist/utils4.d.mts +111 -0
  538. package/dist/{validation-B-Om4ANo.d.mts → validation-PeVTwtd-.d.mts} +3 -3
  539. package/dist/validation.d.mts +1 -1
  540. package/dist/validation2.d.mts +64 -0
  541. package/dist/{value-control-resolver-BiyhB8zt.d.mts → value-control-resolver-Cx_wXQFv.d.mts} +3 -2
  542. package/dist/value-control-resolver.d.mts +1 -1
  543. package/dist/variables/effect.d.mts +1 -1
  544. package/dist/variables/semantic.d.mts +1 -1
  545. package/dist/variables/semantic.mjs +15 -18
  546. package/dist/variables/semantic.mjs.map +1 -1
  547. package/llms.txt +1 -1
  548. package/package.json +32 -6
  549. package/skills/ui-authoring/COMPONENTS.md +1 -1
  550. package/skills/ui-authoring/PATTERNS.md +1 -0
  551. package/dist/Combobox-C2b9u955.mjs.map +0 -1
  552. package/dist/DatePicker-IgiUI3Wj.mjs.map +0 -1
  553. package/dist/DropdownMenu-CuKSNxc9.mjs.map +0 -1
  554. package/dist/Input-C_3QwAAt.mjs.map +0 -1
  555. package/dist/ListBox-D4j4LCT3.mjs.map +0 -1
  556. package/dist/LoadingShimmer-Dizk2sZu.mjs.map +0 -1
  557. package/dist/Modal-BN0K8QXi.mjs.map +0 -1
  558. package/dist/Pagination-CPd4mSnw.mjs.map +0 -1
  559. package/dist/Popover-opVa9Xhc.mjs.map +0 -1
  560. package/dist/ProgressIndicator-3A4Aqci6.mjs.map +0 -1
  561. package/dist/SegmentedControl-BcwfLuHA.mjs.map +0 -1
  562. package/dist/Select-BstCz8P1.mjs.map +0 -1
  563. package/dist/Sticker-C3Eb13OQ.mjs.map +0 -1
  564. package/dist/Table-B1gRr2XT.mjs.map +0 -1
  565. package/dist/TableBox-DAQ3Plqx.mjs.map +0 -1
  566. package/dist/TableControls-BxuPCUQS.mjs.map +0 -1
  567. package/dist/Toggle-DWbJOwf3.mjs.map +0 -1
  568. package/dist/components/Link/index.mjs.map +0 -1
  569. package/dist/components/StatusIndicator/index.mjs.map +0 -1
  570. package/dist/components/WizardModal/index.mjs.map +0 -1
  571. package/dist/lib/methodChain.mjs.map +0 -1
  572. /package/dist/{index--p6oQT9I.d.mts → index-7in8TPrM.d.mts} +0 -0
  573. /package/dist/{index-BCh-G39Y2.d.mts → index-BCq_fh4A2.d.mts} +0 -0
  574. /package/dist/{index-BO_854F2.d.mts → index-BINnViIh.d.mts} +0 -0
  575. /package/dist/{index-BwFl_eS0.d.mts → index-BjgW3E7y.d.mts} +0 -0
  576. /package/dist/{index-C-lwXyQ6.d.mts → index-BwXb5CoQ.d.mts} +0 -0
  577. /package/dist/{index-C1o2TFfS.d.mts → index-C3usUse7.d.mts} +0 -0
  578. /package/dist/{index-C3kE54DD.d.mts → index-C9achTF6.d.mts} +0 -0
  579. /package/dist/{index-CREkvfw9.d.mts → index-CCKHlTA4.d.mts} +0 -0
  580. /package/dist/{index-CRo77wc3.d.mts → index-CFuHCx9T.d.mts} +0 -0
  581. /package/dist/{index-CfCYi7PF.d.mts → index-CP2eJYlK.d.mts} +0 -0
  582. /package/dist/{index-CoUVmp_Q.d.mts → index-CWB6exYm.d.mts} +0 -0
  583. /package/dist/{index-DCTy4zg0.d.mts → index-CryTAIZM.d.mts} +0 -0
  584. /package/dist/{index-DWIh4oP5.d.mts → index-CuheJfs-.d.mts} +0 -0
  585. /package/dist/{index-De7MV8-j.d.mts → index-D-9tW2r5.d.mts} +0 -0
  586. /package/dist/{index-DgJfEygr.d.mts → index-D9XihFV1.d.mts} +0 -0
  587. /package/dist/{index-Es5nKSSL.d.mts → index-Deol7ZWO.d.mts} +0 -0
  588. /package/dist/{index-Qwqzz3XM.d.mts → index-DjOaHFU3.d.mts} +0 -0
  589. /package/dist/{index-Wc1llEvP.d.mts → index-Iujpc9_6.d.mts} +0 -0
  590. /package/dist/{index-bHnO4ZKt.d.mts → index-e6k85DKM.d.mts} +0 -0
  591. /package/dist/{index-dhjtMp5F.d.mts → index-gpCH5158.d.mts} +0 -0
  592. /package/dist/{components → patterns}/WizardModal/index.d.mts +0 -0
@@ -8,24 +8,27 @@ import { i as Paragraph, r as Label$1 } from "./Text-BdluS7Fy.mjs";
8
8
  import "./variables/transitions.mjs";
9
9
  import { a as Tooltip } from "./Tooltip-C0FuZS1C.mjs";
10
10
  import { transparent, withAlpha } from "./lib/color.mjs";
11
- import { isActive, isFocused, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
11
+ import { letPointerDownReachDocument } from "./lib/letPointerDownReachDocument.mjs";
12
+ import { isActive, isDisabled, isFocused, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
12
13
  import { useScrollOverflow } from "./lib/useScrollOverflow.mjs";
13
14
  import { Z_INDICES } from "./lib/zindex.mjs";
14
15
  import { focusOutline, focusWithinOutline } from "./mixins/focus.mjs";
15
- import { n as Stack, t as HStack } from "./Stack-ChsImaEY.mjs";
16
- import { n as Button, t as IconButton } from "./IconButton-CqTPMhjV.mjs";
17
- import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-BepWbJHz.mjs";
18
- import { r as InputGroup } from "./Input-C_3QwAAt.mjs";
16
+ import { semanticScrollbar } from "./mixins/scrollbar.mjs";
17
+ import { n as Stack, t as HStack } from "./Stack-CEPzs4Pb.mjs";
18
+ import { n as Button, t as IconButton } from "./IconButton-BHFCjvzs.mjs";
19
+ import { i as TabBar, n as StyledTab, r as Tab } from "./TabBar-BSl5v5aa.mjs";
20
+ import { r as InputGroup } from "./Input-BQN97Hzm.mjs";
19
21
  import Input_default from "./components/Input/index.mjs";
20
- import { c as MenuList, s as MenuItem } from "./Menu-Cd6oxjAe.mjs";
21
- import { n as DropdownMenu_default } from "./DropdownMenu-CuKSNxc9.mjs";
22
- import { t as Combobox } from "./Combobox-C2b9u955.mjs";
23
- import { s as Popover_default } from "./Popover-opVa9Xhc.mjs";
24
- import { t as Toggle } from "./Toggle-DWbJOwf3.mjs";
25
- import { i as selectedPresetFor, n as parseDateFilterValue, r as resolveDateFilterValue, t as formatDateFilterValue } from "./date-filter-CZeChs9T.mjs";
26
- import { t as ListBox } from "./ListBox-D4j4LCT3.mjs";
27
- import { m as FormField, o as ComboboxField } from "./FormField-74TPV8-8.mjs";
28
- import { r as DatePicker, t as DateRangePicker } from "./DatePicker-IgiUI3Wj.mjs";
22
+ import { c as MenuList, s as MenuItem } from "./Menu-DjW2b3Wk.mjs";
23
+ import { n as DropdownMenu_default } from "./DropdownMenu-j8NWbAvM.mjs";
24
+ import { t as Combobox } from "./Combobox-CCDoNF9Y.mjs";
25
+ import { s as Popover_default } from "./Popover-CbYaWrAy.mjs";
26
+ import { i as Modal_default } from "./Modal-DHLPK65-.mjs";
27
+ import { t as Toggle } from "./Toggle-CntyMUPJ.mjs";
28
+ import { i as selectedPresetFor, n as parseDateFilterValue, r as resolveDateFilterValue, t as formatDateFilterValue } from "./date-filter-D6IfCkwp.mjs";
29
+ import { t as ListBox } from "./ListBox-DOqN9DNl.mjs";
30
+ import { m as FormField, o as ComboboxField } from "./FormField-DbcqNcx2.mjs";
31
+ import { r as DatePicker, t as DateRangePicker } from "./DatePicker-LPIJrc0n.mjs";
29
32
  import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
30
33
  import { Fragment, createContext, createElement, forwardRef, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
31
34
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -35,10 +38,10 @@ import { debounce, isEqual, noop, partition, startCase, union, uniqueId } from "
35
38
  import { useId } from "react-aria";
36
39
  import Fuse from "fuse.js";
37
40
  import { DragIcon as DragIcon$1 } from "@persona/icons/24px";
38
- import { DateTime } from "luxon";
41
+ import { DateTime, Settings } from "luxon";
39
42
  import * as PopoverPrimitive from "@radix-ui/react-popover";
40
43
  import { DragDropContext, Draggable, Droppable } from "@hello-pangea/dnd";
41
- import { parseDate } from "@internationalized/date";
44
+ import { parseAbsolute, parseDate, toCalendarDate, toZoned } from "@internationalized/date";
42
45
  import { v4 } from "uuid";
43
46
  //#region components/DataTable/FormControlLabel/FormControlLabel.ts
44
47
  const FormControlLabel = styled(Label$1).attrs(() => ({
@@ -76,6 +79,12 @@ const CursorAnchor = styled.div`
76
79
  pointer-events: none;
77
80
  `;
78
81
  const StyledInput = styled(Input_default)`
82
+ &&,
83
+ &&${isHovered}${isNotDisabled},
84
+ &&${isDisabled} {
85
+ background: transparent;
86
+ }
87
+
79
88
  ${({ theme, flattenDisplay }) => flattenDisplay && css`
80
89
  border-width: 0px;
81
90
 
@@ -207,7 +216,7 @@ const CompactSearchInput = styled(SearchInput)`
207
216
  * @see ControlBar.tsx
208
217
  * @see ControlBar.spec.tsx
209
218
  */
210
- const CompactBar = ({ title, searchProps, showFilters, setShowFilters, filtersId, isLoading, propertiesButton, tableActions, "data-tour-target": dataTourTarget, filterPanel }) => {
219
+ const CompactBar = ({ title, searchProps, showFilters, setShowFilters, filtersId, isLoading, isFilterPanelLoading, propertiesButton, tableActions, "data-tour-target": dataTourTarget, filterPanel }) => {
211
220
  const autoExpandSearch = !title;
212
221
  const [showSearch, setShowSearch] = useState(autoExpandSearch);
213
222
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(DataTableCompactBar, {
@@ -255,7 +264,8 @@ const CompactBar = ({ title, searchProps, showFilters, setShowFilters, filtersId
255
264
  "aria-label": showFilters ? "Hide filters" : "Show filters",
256
265
  "aria-expanded": showFilters,
257
266
  "aria-controls": filtersId,
258
- disabled: isLoading,
267
+ disabled: isLoading || isFilterPanelLoading,
268
+ isPending: isFilterPanelLoading,
259
269
  active: showFilters,
260
270
  width: "icon",
261
271
  size: "sm",
@@ -293,6 +303,13 @@ const OVERFLOW_WIDTH_SHRINK_THRESHOLD = 16;
293
303
  function enterProxiesClick(e) {
294
304
  if (e.key === "Enter") e.target.dispatchEvent(new Event("click", { bubbles: true }));
295
305
  }
306
+ const ViewNameInput = styled(Input_default)`
307
+ &&,
308
+ &&${isHovered}${isNotDisabled},
309
+ &&${isDisabled} {
310
+ background: transparent;
311
+ }
312
+ `;
296
313
  const AddViewButton = styled(IconButton)`
297
314
  color: ${({ theme }) => semanticColor(theme, "FgSecondary", theme.color.text.secondary)};
298
315
  `;
@@ -305,6 +322,7 @@ const LockedTab = styled(Tab)`
305
322
  const OverflowMenuList = styled(MenuList)`
306
323
  max-height: 300px;
307
324
  overflow: auto;
325
+ ${semanticScrollbar}
308
326
  `;
309
327
  const ExpandedSearchInput = styled(SearchInput)`
310
328
  flex-basis: 440px;
@@ -331,7 +349,7 @@ const TabOverflowContainer = styled.div`
331
349
  position: absolute;
332
350
  height: 32px;
333
351
  `;
334
- const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onDeleteView, onSelectView, onResetCurrentView, onSaveView, onSetDefaultView, isViewDirty, showTabContextMenu, setShowTabContextMenu, className, ...rest }) => {
352
+ const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditViews, handleNameChange, onDuplicateView, onRequestDeleteView, onSelectView, onResetCurrentView, onSaveView, onSetDefaultView, isViewDirty, showTabContextMenu, setShowTabContextMenu, className, ...rest }) => {
335
353
  const inputRef = useRef(null);
336
354
  const lastSubmittedNameRef = useRef(null);
337
355
  const submitNameChange = (newName) => {
@@ -364,7 +382,7 @@ const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditView
364
382
  },
365
383
  children: /* @__PURE__ */ jsxs(Stack, {
366
384
  spacing: Spacing[3],
367
- children: [/* @__PURE__ */ jsx(Input_default, {
385
+ children: [/* @__PURE__ */ jsx(ViewNameInput, {
368
386
  defaultValue: view.name,
369
387
  onBlur: (e) => submitNameChange(e.currentTarget.value),
370
388
  onKeyDown: (e) => {
@@ -420,12 +438,12 @@ const SavedViewTab = ({ view, selected, tabIdPrefix = TAB_ID_PREFIX, canEditView
420
438
  onKeyDown: enterProxiesClick,
421
439
  children: view.isDefault ? "Already the default" : "Set as default"
422
440
  }),
423
- onDeleteView && /* @__PURE__ */ jsx(MenuItem, {
441
+ onRequestDeleteView && /* @__PURE__ */ jsx(MenuItem, {
424
442
  id: "table-controls__view__menu-delete",
425
443
  prefixIcon: /* @__PURE__ */ jsx(TrashIcon, {}),
426
- onClick: async () => {
427
- await onDeleteView(view.id);
444
+ onClick: () => {
428
445
  setShowTabContextMenu(false);
446
+ onRequestDeleteView(view);
429
447
  },
430
448
  onKeyDown: enterProxiesClick,
431
449
  children: "Delete"
@@ -532,14 +550,22 @@ const ProductTourStyles = createGlobalStyle`
532
550
  }
533
551
  }
534
552
  `;
535
- const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onSaveView, onSetDefaultView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
553
+ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView, onDuplicateView, onDeleteView, onViewNameChange, onSaveView, onSetDefaultView, isViewDirty, canEditViews, showFilters, setShowFilters, searchProps, filtersId, propertiesButton, tableActions, isLoading, isFilterPanelLoading, showViews, selectedRows = [], bulkActions, onResetCurrentView, onClearSelection, title, "data-tour-target": dataTourTarget, compact, onError, filterPanel }) => {
536
554
  const tabListRef = useRef(null);
537
555
  const tabOverflowRef = useRef(null);
538
556
  const [hiddenViews, setHiddenViews] = useState([]);
539
557
  const [showTabContextMenu, setShowTabContextMenu] = useState(false);
558
+ const [pendingDeleteView, setPendingDeleteView] = useState(null);
559
+ const previousPendingDeleteViewRef = useRef(null);
560
+ const [isDeletingView, setIsDeletingView] = useState(false);
540
561
  const [isAddingView, setIsAddingView] = useState(false);
541
562
  const [lastVisibleViewElement, setLastVisibleViewElement] = useState(null);
542
563
  const [tabOverflowWidth, setTabOverflowWidth] = useState(null);
564
+ useEffect(() => {
565
+ const previousPendingDeleteView = previousPendingDeleteViewRef.current;
566
+ if (!pendingDeleteView && previousPendingDeleteView) (document.getElementById(`${OVERFLOW_TAB_ID_PREFIX}${previousPendingDeleteView.id}`) ?? document.getElementById(`${TAB_ID_PREFIX}${previousPendingDeleteView.id}`))?.focus();
567
+ previousPendingDeleteViewRef.current = pendingDeleteView;
568
+ }, [pendingDeleteView]);
543
569
  const onResize = useCallback(() => {
544
570
  if (!tabListRef.current) return;
545
571
  const containerRect = tabListRef.current.getBoundingClientRect();
@@ -598,6 +624,17 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
598
624
  const handleNameChange = (view, newName) => {
599
625
  if (canEditViews && view.name !== newName) onViewNameChange?.(view.id, newName);
600
626
  };
627
+ const onRequestDeleteView = onDeleteView ? (view) => setPendingDeleteView(view) : void 0;
628
+ const confirmDeleteView = async () => {
629
+ if (!pendingDeleteView || !onDeleteView) return;
630
+ setIsDeletingView(true);
631
+ try {
632
+ await onDeleteView(pendingDeleteView.id);
633
+ setPendingDeleteView(null);
634
+ } catch {} finally {
635
+ setIsDeletingView(false);
636
+ }
637
+ };
601
638
  if (compact) return /* @__PURE__ */ jsx(CompactBar, {
602
639
  "data-tour-target": dataTourTarget,
603
640
  title,
@@ -606,6 +643,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
606
643
  setShowFilters,
607
644
  filtersId,
608
645
  isLoading,
646
+ isFilterPanelLoading,
609
647
  propertiesButton,
610
648
  tableActions,
611
649
  filterPanel
@@ -690,7 +728,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
690
728
  canEditViews: canEditViews ?? false,
691
729
  handleNameChange,
692
730
  onDuplicateView,
693
- onDeleteView,
731
+ onRequestDeleteView,
694
732
  onSelectView,
695
733
  onResetCurrentView,
696
734
  onSaveView,
@@ -719,7 +757,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
719
757
  handleAddView: onAddView ? handleAddView : null,
720
758
  handleNameChange,
721
759
  onDuplicateView,
722
- onDeleteView,
760
+ onRequestDeleteView,
723
761
  onResetCurrentView,
724
762
  onSaveView,
725
763
  onSetDefaultView,
@@ -748,7 +786,8 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
748
786
  "aria-label": showFilters ? "Hide filters" : "Show filters",
749
787
  "aria-expanded": showFilters,
750
788
  "aria-controls": filtersId,
751
- disabled: isLoading,
789
+ disabled: isLoading || isFilterPanelLoading,
790
+ isPending: isFilterPanelLoading,
752
791
  active: showFilters,
753
792
  width: "icon",
754
793
  size: "md",
@@ -758,12 +797,40 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, onAddView,
758
797
  propertiesButton
759
798
  ]
760
799
  }),
761
- showFilters && filterPanel
800
+ showFilters && filterPanel,
801
+ /* @__PURE__ */ jsx(Modal_default, {
802
+ open: pendingDeleteView != null,
803
+ onOpenChange: (open) => {
804
+ if (!open && !isDeletingView) setPendingDeleteView(null);
805
+ },
806
+ isKeyboardDismissDisabled: isDeletingView,
807
+ contentProps: isDeletingView ? { showCloseButton: false } : void 0,
808
+ title: "Delete view?",
809
+ footer: /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Button, {
810
+ variant: "basic",
811
+ width: "auto",
812
+ disabled: isDeletingView,
813
+ onClick: () => setPendingDeleteView(null),
814
+ children: "Cancel"
815
+ }), /* @__PURE__ */ jsx(Button, {
816
+ id: "table-controls__view__delete-confirm",
817
+ variant: "danger",
818
+ width: "auto",
819
+ isPending: isDeletingView,
820
+ onClick: confirmDeleteView,
821
+ children: "Delete"
822
+ })] }),
823
+ children: /* @__PURE__ */ jsxs(Paragraph, { children: [
824
+ "This will permanently delete “",
825
+ pendingDeleteView?.name,
826
+ "”. This action cannot be undone."
827
+ ] })
828
+ })
762
829
  ] });
763
830
  };
764
831
  //#endregion
765
832
  //#region components/DataTable/TableControls/TableControls.tsx
766
- const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilters: controlledShowFilters, setShowFilters: controlledSetShowFilters, className, tableActions, propertiesButton, isLoading, showViews, canEditViews, onSelectView, views, currentView, onAddView, onViewNameChange, onDuplicateView, onDeleteView, onSaveView, onSetDefaultView, isViewDirty, selectedRows, bulkActions, onClearSelection, title, presetViews, compact, columnConfigurationProps, showFiltersAlways = false, onError, "data-tour-target": dataTourTarget }) => {
833
+ const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilters: controlledShowFilters, setShowFilters: controlledSetShowFilters, className, tableActions, propertiesButton, isLoading, isFilterPanelLoading, showViews, canEditViews, onSelectView, views, currentView, onAddView, onViewNameChange, onDuplicateView, onDeleteView, onSaveView, onSetDefaultView, isViewDirty, selectedRows, bulkActions, onClearSelection, title, presetViews, compact, columnConfigurationProps, showFiltersAlways = false, onError, "data-tour-target": dataTourTarget }) => {
767
834
  const filtersId = useId();
768
835
  const [internalShowFilters, internalSetShowFilters] = useState(defaultShowFilters ?? false);
769
836
  const showFilters = controlledShowFilters != null ? controlledShowFilters : internalShowFilters;
@@ -794,13 +861,14 @@ const TableControls = ({ filterPanel, searchProps, defaultShowFilters, showFilte
794
861
  onSetDefaultView: compact ? void 0 : onSetDefaultView,
795
862
  isViewDirty,
796
863
  canEditViews: compact ? false : canEditViews,
797
- showFilters,
798
- setShowFilters: filterPanel != null && !showFiltersAlways ? setShowFilters : void 0,
864
+ showFilters: showFilters && (showFiltersAlways || !isFilterPanelLoading),
865
+ setShowFilters: (filterPanel != null || isFilterPanelLoading) && !showFiltersAlways ? setShowFilters : void 0,
799
866
  filtersId,
800
867
  searchProps,
801
868
  propertiesButton: enhancedPropertiesButton,
802
869
  tableActions,
803
870
  isLoading,
871
+ isFilterPanelLoading,
804
872
  selectedRows,
805
873
  bulkActions,
806
874
  onClearSelection,
@@ -1247,6 +1315,7 @@ const VALUELESS_OPERATORS = new Set(["is_empty", "is_not_empty"]);
1247
1315
  * a `{ startDate, endDate }` pair for `between`.
1248
1316
  */
1249
1317
  const RANGE_OPERATORS = new Set(["between"]);
1318
+ const TIME_COMPONENT$1 = /T\d{2}:\d{2}/;
1250
1319
  function getOperatorsForType(type) {
1251
1320
  return OPERATORS_BY_TYPE[type] ?? [];
1252
1321
  }
@@ -1283,6 +1352,14 @@ function isValuelessOperator(operator) {
1283
1352
  function carriesDateRange(operator, fieldType) {
1284
1353
  return isRangeOperator(operator) || fieldType === "date_range";
1285
1354
  }
1355
+ /**
1356
+ * Whether a rule's value control edits minute-precision date-times: the bar
1357
+ * and field both opt in, and the value is a range or a before/after instant
1358
+ * (`date` + `is` stays a whole calendar day).
1359
+ */
1360
+ function isMinutePrecisionDate(field, operator, dateTimesEnabled) {
1361
+ return dateTimesEnabled && field.timeGranularity === "minute" && (field.type === "date_range" || field.type === "date" && operator !== "is");
1362
+ }
1286
1363
  function isRangeOperator(operator) {
1287
1364
  return RANGE_OPERATORS.has(operator);
1288
1365
  }
@@ -1384,6 +1461,17 @@ function emptyValueForRule(field, operator) {
1384
1461
  function reconcileValueForOperator(field, nextOperator, previousOperator, value) {
1385
1462
  if (isValuelessOperator(nextOperator)) return null;
1386
1463
  if (isRangeOperator(nextOperator) !== isRangeOperator(previousOperator)) return emptyValueForRule(field, nextOperator);
1464
+ if (field.type === "date" && nextOperator === "is" && typeof value === "string" && TIME_COMPONENT$1.test(value)) return DateTime.fromISO(value).setZone(Settings.defaultZone).toISODate();
1465
+ if (field.type === "date" && (previousOperator === "before" || previousOperator === "after") && (nextOperator === "before" || nextOperator === "after") && previousOperator !== nextOperator && typeof value === "string" && TIME_COMPONENT$1.test(value)) {
1466
+ const dateTime = DateTime.fromISO(value, { setZone: true });
1467
+ return nextOperator === "after" ? dateTime.set({
1468
+ second: 0,
1469
+ millisecond: 0
1470
+ }).toISO() : dateTime.set({
1471
+ second: 59,
1472
+ millisecond: 999
1473
+ }).toISO();
1474
+ }
1387
1475
  return value ?? emptyValueForRule(field, nextOperator);
1388
1476
  }
1389
1477
  //#endregion
@@ -1406,6 +1494,14 @@ function resolveDateRangeRuleValue(rule, fieldType) {
1406
1494
  return parsed ? resolveDateFilterValue(parsed) : null;
1407
1495
  }
1408
1496
  //#endregion
1497
+ //#region components/DataTable/TableControls/FiltersV2/format-date-value.ts
1498
+ const TIME_COMPONENT = /T\d{2}:\d{2}/;
1499
+ function formatDateValueForDisplay(value) {
1500
+ if (!TIME_COMPONENT.test(value)) return value;
1501
+ const dateTime = DateTime.fromISO(value).setZone(Settings.defaultZone);
1502
+ return dateTime.isValid ? dateTime.toFormat("MMM d, yyyy h:mm a") : value;
1503
+ }
1504
+ //#endregion
1409
1505
  //#region components/DataTable/TableControls/FiltersV2/relative-date-label.ts
1410
1506
  /**
1411
1507
  * The preset name a rule should display instead of its dates, or `undefined`
@@ -1422,11 +1518,11 @@ function relativePresetLabel(value, relativeDate) {
1422
1518
  }
1423
1519
  //#endregion
1424
1520
  //#region components/DataTable/TableControls/FiltersV2/AdvancedFilterRulesPopover/display.ts
1425
- function valueDisplayString(value, optionLabels, relativeDate) {
1521
+ function valueDisplayString(value, optionLabels, relativeDate, fieldType) {
1426
1522
  if (value == null) return;
1427
1523
  const relativeLabel = relativePresetLabel(value, relativeDate);
1428
1524
  if (relativeLabel) return relativeLabel;
1429
- const display = (raw) => optionLabels?.[raw] ?? raw;
1525
+ const display = (raw) => optionLabels?.[raw] ?? (fieldType === "date" || fieldType === "date_range" ? formatDateValueForDisplay(raw) : raw);
1430
1526
  if (Array.isArray(value)) {
1431
1527
  if (value.length === 0) return;
1432
1528
  if (value.length === 1) return display(String(value[0]));
@@ -1437,8 +1533,8 @@ function valueDisplayString(value, optionLabels, relativeDate) {
1437
1533
  if (typeof value === "string") return value.length > 0 ? display(value) : void 0;
1438
1534
  if (typeof value === "object") {
1439
1535
  const { startDate, endDate } = value;
1440
- if (startDate && endDate) return `${startDate} – ${endDate}`;
1441
- return startDate || endDate || void 0;
1536
+ if (startDate && endDate) return `${display(startDate)} – ${display(endDate)}`;
1537
+ return startDate ? display(startDate) : endDate ? display(endDate) : void 0;
1442
1538
  }
1443
1539
  }
1444
1540
  function draftValueFor(field, operator) {
@@ -1552,9 +1648,22 @@ function buildFieldPickerOptions(registry, visibleCustomFieldParents, excludeFie
1552
1648
  }
1553
1649
  //#endregion
1554
1650
  //#region components/DataTable/TableControls/FiltersV2/AdvancedFilterRulesPopover/RuleEditorFields.tsx
1555
- function RuleEditorFields({ registry, field, groupIndex, ruleIndex, rule, size, operators, operatorConfigurable, onFieldChange, onOperatorChange, onValueChange, renderValueControl }) {
1651
+ const StatementFields = styled.div`
1652
+ display: contents;
1653
+
1654
+ && input,
1655
+ && input${isHovered}${isNotDisabled},
1656
+ && input${isDisabled},
1657
+ && [role='group'],
1658
+ && [role='group']${isHovered}${isNotDisabled},
1659
+ && [role='group']${isDisabled} {
1660
+ background: transparent;
1661
+ }
1662
+ `;
1663
+ function RuleEditorFields({ registry, dateTimesEnabled, field, groupIndex, ruleIndex, rule, size, operators, operatorConfigurable, onFieldChange, onOperatorChange, onValueChange, renderValueControl }) {
1664
+ const minutePrecisionValue = field != null && isMinutePrecisionDate(field, rule.operator, dateTimesEnabled);
1556
1665
  const fieldOptions = useMemo(() => buildFieldPickerOptions(registry), [registry]);
1557
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1666
+ return /* @__PURE__ */ jsxs(StatementFields, { children: [
1558
1667
  /* @__PURE__ */ jsx(ComboboxField, {
1559
1668
  label: "Value",
1560
1669
  labelProps: { size },
@@ -1596,19 +1705,20 @@ function RuleEditorFields({ registry, field, groupIndex, ruleIndex, rule, size,
1596
1705
  field && !isValuelessOperator(rule.operator) ? /* @__PURE__ */ jsx(FormField, {
1597
1706
  label: "Value",
1598
1707
  labelProps: { size },
1708
+ configField: minutePrecisionValue ? false : void 0,
1599
1709
  children: /* @__PURE__ */ jsx(Fragment$1, { children: renderValueControl(field, rule.operator, rule.value, (next, relativeDate) => onValueChange(groupIndex, ruleIndex, next, relativeDate), rule.relativeDate) })
1600
1710
  }) : null
1601
1711
  ] });
1602
1712
  }
1603
1713
  //#endregion
1604
1714
  //#region components/DataTable/TableControls/FiltersV2/AdvancedFilterRulesPopover/AdvancedFilterRuleRow.tsx
1605
- function AdvancedFilterRuleRow({ registry, groupIndex, ruleIndex, rule, size, isOpen, onClose, onDelete, onFieldChange, onOperatorChange, onValueChange, renderValueControl }) {
1715
+ function AdvancedFilterRuleRow({ registry, dateTimesEnabled, groupIndex, ruleIndex, rule, size, isOpen, onClose, onDelete, onFieldChange, onOperatorChange, onValueChange, renderValueControl }) {
1606
1716
  const field = registry.get(rule.fieldId);
1607
1717
  const operators = field ? getOperatorsForField(field) : [];
1608
1718
  const operatorConfigurable = field ? fieldHasMultipleOperators(field) : true;
1609
1719
  const condition = ruleIndex === 0 ? "If" : "And";
1610
1720
  const rowId = `${groupIndex}-${ruleIndex}`;
1611
- const valueDisplay = isValuelessOperator(rule.operator) ? void 0 : valueDisplayString(rule.value, registry.optionLabelsFor(rule.fieldId), carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0);
1721
+ const valueDisplay = isValuelessOperator(rule.operator) ? void 0 : valueDisplayString(rule.value, registry.optionLabelsFor(rule.fieldId), carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0, field?.type);
1612
1722
  const textValue = [
1613
1723
  condition,
1614
1724
  field?.label ?? rule.fieldId,
@@ -1631,6 +1741,7 @@ function AdvancedFilterRuleRow({ registry, groupIndex, ruleIndex, rule, size, is
1631
1741
  dropdownHeadingText: `Edit \u2018${condition}\u2019 statement`,
1632
1742
  dropdownFormFields: /* @__PURE__ */ jsx(RuleEditorFields, {
1633
1743
  registry,
1744
+ dateTimesEnabled,
1634
1745
  field,
1635
1746
  groupIndex,
1636
1747
  ruleIndex,
@@ -1751,9 +1862,13 @@ const PopoverContent = styled(PopoverPrimitive.Content)`
1751
1862
  z-index: ${Z_INDICES.modalDropdown};
1752
1863
  `;
1753
1864
  const PopoverCard = styled(Card_default)`
1754
- width: 384px;
1865
+ width: ${({ $wide }) => $wide ? "520px" : "384px"};
1755
1866
  max-width: calc(100vw - ${Spacing[4]});
1756
1867
  margin-bottom: 0;
1868
+
1869
+ && {
1870
+ background-color: ${({ theme }) => semanticColor(theme, "SurfaceElevated", theme.color.background.primary)};
1871
+ }
1757
1872
  `;
1758
1873
  const Header = styled.div`
1759
1874
  display: flex;
@@ -1768,6 +1883,7 @@ const Body = styled.div`
1768
1883
  padding: 0 ${Spacing[3]} ${Spacing[3]};
1769
1884
  max-height: 60vh;
1770
1885
  overflow-y: auto;
1886
+ ${semanticScrollbar}
1771
1887
  `;
1772
1888
  /**
1773
1889
  * Bordered container that wraps a single AndGroup. Visually mirrors the
@@ -1802,6 +1918,11 @@ const GroupHeaderActions = styled.div`
1802
1918
  align-items: center;
1803
1919
  gap: ${Spacing[1]};
1804
1920
  `;
1921
+ const GroupActionsMenu = styled(DropdownMenu_default)`
1922
+ && {
1923
+ background-color: ${({ theme }) => semanticColor(theme, "SurfaceElevated", theme.color.background.primary)};
1924
+ }
1925
+ `;
1805
1926
  /**
1806
1927
  * A focused-down `ListBox` for the rules in one AndGroup. Strips the
1807
1928
  * default 204px width AND the standalone border (the parent `GroupCard`
@@ -1847,9 +1968,10 @@ function groupsForRender(compound) {
1847
1968
  * inline; clicking a row reveals the field/operator/value editor inside the
1848
1969
  * row's dropdown popover.
1849
1970
  */
1850
- const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, open, onOpenChange, renderValueControl, size }) => {
1971
+ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, open, onOpenChange, renderValueControl, size, dateTimesEnabled = false }) => {
1851
1972
  const resolvedSize = useFilterBarSize(size);
1852
1973
  const subtleIconSize = resolvedSize === "sm" ? "xs" : "sm";
1974
+ const wide = useMemo(() => dateTimesEnabled && registry.all().some((field) => field.timeGranularity === "minute"), [registry, dateTimesEnabled]);
1853
1975
  const [internalOpen, setInternalOpen] = useState(false);
1854
1976
  const isControlled = open != null;
1855
1977
  const isOpen = isControlled ? open : internalOpen;
@@ -1953,6 +2075,7 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
1953
2075
  role: "dialog",
1954
2076
  "aria-label": "Advanced filter rules",
1955
2077
  id: baseId,
2078
+ onPointerDownCapture: letPointerDownReachDocument,
1956
2079
  ref: popoverContentRef,
1957
2080
  tabIndex: -1,
1958
2081
  onKeyDown: (event) => {
@@ -1971,6 +2094,7 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
1971
2094
  },
1972
2095
  children: /* @__PURE__ */ jsxs(PopoverCard, {
1973
2096
  elevated: true,
2097
+ $wide: wide,
1974
2098
  children: [/* @__PURE__ */ jsx(Header, { children: /* @__PURE__ */ jsx(Paragraph, {
1975
2099
  size: resolvedSize,
1976
2100
  color: "secondary",
@@ -1989,7 +2113,7 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
1989
2113
  children: [/* @__PURE__ */ jsxs(GroupHeader, { children: [/* @__PURE__ */ jsx(GroupTitle, {
1990
2114
  $size: resolvedSize,
1991
2115
  children: groupTitle
1992
- }), /* @__PURE__ */ jsxs(GroupHeaderActions, { children: [hideGroupMenu ? null : /* @__PURE__ */ jsx(DropdownMenu_default, {
2116
+ }), /* @__PURE__ */ jsxs(GroupHeaderActions, { children: [hideGroupMenu ? null : /* @__PURE__ */ jsx(GroupActionsMenu, {
1993
2117
  trigger: /* @__PURE__ */ jsx(IconButton, {
1994
2118
  size: subtleIconSize,
1995
2119
  "aria-label": `More actions for filter group ${groupIndex + 1}`,
@@ -2033,6 +2157,7 @@ const AdvancedFilterRulesPopover = ({ registry, compound, onChange, trigger, ope
2033
2157
  const rowId = `${groupIndex}-${ruleIndex}`;
2034
2158
  return /* @__PURE__ */ jsx(AdvancedFilterRuleRow, {
2035
2159
  registry,
2160
+ dateTimesEnabled,
2036
2161
  groupIndex,
2037
2162
  ruleIndex,
2038
2163
  rule,
@@ -2256,6 +2381,7 @@ function ChoicesValueControl({ field, operator, value, onChange, onCommit, ariaL
2256
2381
  //#endregion
2257
2382
  //#region components/DataTable/TableControls/FiltersV2/value-controls/DateRangeValueControl/DateRangeValueControl.tsx
2258
2383
  const CALENDAR_DATE = /^(\d{4}-\d{2}-\d{2})/;
2384
+ const DATE_ONLY$1 = /^\d{4}-\d{2}-\d{2}$/;
2259
2385
  const parseIsoDate$1 = (value) => {
2260
2386
  if (typeof value !== "string") return;
2261
2387
  const calendarDay = CALENDAR_DATE.exec(value)?.[1];
@@ -2271,29 +2397,63 @@ const parseIsoDate$1 = (value) => {
2271
2397
  return;
2272
2398
  }
2273
2399
  };
2274
- const useDateRange = (value, relativeDate) => {
2400
+ const parseIsoDateTime = (value, endpoint) => {
2401
+ if (typeof value !== "string") return;
2402
+ const dateTime = DateTime.fromISO(value, DATE_ONLY$1.test(value) ? { zone: Settings.defaultZone } : {}).setZone(Settings.defaultZone);
2403
+ if (!dateTime.isValid) return;
2404
+ return DATE_ONLY$1.test(value) ? dateTime[endpoint === "start" ? "startOf" : "endOf"]("day") : dateTime;
2405
+ };
2406
+ const useDateRange = (value, relativeDate, minuteMode) => {
2275
2407
  const parsedRelativeDate = parseDateFilterValue(relativeDate);
2276
2408
  const parsed = parsedRelativeDate?.kind === "relative" ? parsedRelativeDate : parseDateFilterValue(value);
2277
2409
  const resolved = parsed ? resolveDateFilterValue(parsed) : void 0;
2278
2410
  return useMemo(() => ({
2279
- startDate: parseIsoDate$1(resolved?.startDate),
2280
- endDate: parseIsoDate$1(resolved?.endDate)
2281
- }), [resolved?.startDate, resolved?.endDate]);
2411
+ startDate: minuteMode ? parseIsoDateTime(resolved?.startDate, "start") : parseIsoDate$1(resolved?.startDate),
2412
+ endDate: minuteMode ? parseIsoDateTime(resolved?.endDate, "end") : parseIsoDate$1(resolved?.endDate)
2413
+ }), [
2414
+ minuteMode,
2415
+ resolved?.startDate,
2416
+ resolved?.endDate
2417
+ ]);
2282
2418
  };
2283
- const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange, ariaLabel, hidePresets, portalContainer, visibleMonths, relativeDatesEnabled = false }) => {
2419
+ const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange, ariaLabel, hidePresets, portalContainer, visibleMonths, relativeDatesEnabled = false, dateTimesEnabled = false }) => {
2284
2420
  const size = useFilterBarSize();
2285
- const dateRange = useDateRange(value, relativeDate);
2421
+ const minuteMode = dateTimesEnabled && field.timeGranularity === "minute";
2422
+ const dateRange = useDateRange(value, relativeDate, minuteMode);
2286
2423
  const noopChange = useCallback(() => void 0, []);
2287
2424
  const handleChange = useCallback((range) => {
2288
2425
  if (!range?.start || !range.end || range.start.compare(range.end) > 0) {
2289
2426
  onChange(null);
2290
2427
  return;
2291
2428
  }
2292
- onChange({
2293
- startDate: range.start.toString(),
2294
- endDate: range.end.toString()
2429
+ if (!minuteMode) {
2430
+ onChange({
2431
+ startDate: range.start.toString(),
2432
+ endDate: range.end.toString()
2433
+ });
2434
+ return;
2435
+ }
2436
+ const zone = Settings.defaultZone.name;
2437
+ const toDateTime = (date) => DateTime.fromJSDate(toZoned(date, zone).toDate(), { zone });
2438
+ const startDate = toDateTime(range.start).set({
2439
+ second: 0,
2440
+ millisecond: 0
2295
2441
  });
2296
- }, [onChange]);
2442
+ const endDate = toDateTime(range.end).set({
2443
+ second: 59,
2444
+ millisecond: 999
2445
+ });
2446
+ if (!startDate.isValid || !endDate.isValid) {
2447
+ onChange(null);
2448
+ return;
2449
+ }
2450
+ const startIso = startDate.toISO();
2451
+ const endIso = endDate.toISO();
2452
+ onChange(startIso && endIso ? {
2453
+ startDate: startIso,
2454
+ endDate: endIso
2455
+ } : null);
2456
+ }, [minuteMode, onChange]);
2297
2457
  const handleDateFilterChange = useCallback((change) => {
2298
2458
  const intent = dateRuleIntent(change, relativeDatesEnabled);
2299
2459
  if (intent.kind === "clear") {
@@ -2305,8 +2465,8 @@ const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange,
2305
2465
  return;
2306
2466
  }
2307
2467
  onChange({
2308
- startDate: intent.range.start.toString(),
2309
- endDate: intent.range.end.toString()
2468
+ startDate: toCalendarDate(intent.range.start).toString(),
2469
+ endDate: toCalendarDate(intent.range.end).toString()
2310
2470
  }, {
2311
2471
  kind: "relative",
2312
2472
  preset: intent.preset
@@ -2317,6 +2477,8 @@ const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange,
2317
2477
  relativeDatesEnabled
2318
2478
  ]);
2319
2479
  const relativePreset = selectedPresetFor(parseDateFilterValue(relativeDate), relativeDatesEnabled);
2480
+ const hasDayEdgeBounds = dateRange.startDate !== void 0 && dateRange.endDate !== void 0 && dateRange.startDate.toMillis() === dateRange.startDate.startOf("day").toMillis() && dateRange.endDate.toMillis() === dateRange.endDate.endOf("day").toMillis();
2481
+ const selectedPreset = minuteMode && relativePreset === void 0 && !hasDayEdgeBounds ? null : relativePreset;
2320
2482
  if (isValuelessOperator(operator)) return null;
2321
2483
  const hasCompleteRange = dateRange.startDate != null && dateRange.endDate != null;
2322
2484
  return /* @__PURE__ */ jsx(DateRangePicker, {
@@ -2327,19 +2489,30 @@ const DateRangeValueControl = ({ field, operator, value, relativeDate, onChange,
2327
2489
  label: null,
2328
2490
  onChange: noopChange,
2329
2491
  onDateFilterChange: handleDateFilterChange,
2330
- selectedPreset: relativePreset,
2492
+ selectedPreset,
2331
2493
  portalContainer,
2332
2494
  showClear: false,
2333
2495
  size,
2334
- visibleMonths
2496
+ visibleMonths,
2497
+ granularity: minuteMode ? "minute" : "day",
2498
+ hideTimeZone: !minuteMode
2335
2499
  }, hasCompleteRange ? "range" : "empty");
2336
2500
  };
2337
2501
  //#endregion
2338
2502
  //#region components/DataTable/TableControls/FiltersV2/value-controls/DateValueControl/DateValueControl.tsx
2339
- const parseIsoDate = (value) => {
2503
+ const DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
2504
+ const parseIsoDate = (value, field, operator, dateTimesEnabled) => {
2340
2505
  if (typeof value !== "string") return null;
2341
2506
  try {
2342
- return parseDate(value);
2507
+ if (isMinutePrecisionDate(field, operator, dateTimesEnabled)) {
2508
+ if (DATE_ONLY.test(value)) {
2509
+ const dateTime = DateTime.fromISO(value, { zone: Settings.defaultZone });
2510
+ const iso = (operator === "after" ? dateTime.startOf("day") : dateTime.endOf("day")).toISO();
2511
+ return iso ? parseAbsolute(iso, Settings.defaultZone.name) : null;
2512
+ }
2513
+ return parseAbsolute(value, Settings.defaultZone.name);
2514
+ }
2515
+ return DATE_ONLY.test(value) ? parseDate(value) : toCalendarDate(parseAbsolute(value, Settings.defaultZone.name));
2343
2516
  } catch {
2344
2517
  return null;
2345
2518
  }
@@ -2352,20 +2525,38 @@ const parseIsoDate = (value) => {
2352
2525
  * (`is_empty` / `is_not_empty`) — those operators are themselves the
2353
2526
  * predicate and need no companion value.
2354
2527
  *
2355
- * Output value is always a `YYYY-MM-DD` ISO date string (or `null` when
2356
- * cleared).
2528
+ * Before/after values may use minute-precision ISO instants when the field
2529
+ * and bar both opt in; other date values remain `YYYY-MM-DD`.
2357
2530
  */
2358
- const DateValueControl = ({ field, operator, value, onChange, ariaLabel }) => {
2531
+ const DateValueControl = ({ field, operator, value, onChange, ariaLabel, dateTimesEnabled = false }) => {
2359
2532
  const size = useFilterBarSize();
2533
+ const minuteMode = isMinutePrecisionDate(field, operator, dateTimesEnabled);
2360
2534
  const handleChange = useCallback((nextDate) => {
2361
- onChange(nextDate ? nextDate.toString() : null);
2362
- }, [onChange]);
2535
+ if (!nextDate || !minuteMode) {
2536
+ onChange(nextDate ? nextDate.toString() : null);
2537
+ return;
2538
+ }
2539
+ const zone = Settings.defaultZone.name;
2540
+ const dateTime = DateTime.fromJSDate(toZoned(nextDate, zone).toDate(), { zone });
2541
+ onChange((operator === "after" ? dateTime.set({
2542
+ second: 0,
2543
+ millisecond: 0
2544
+ }) : dateTime.set({
2545
+ second: 59,
2546
+ millisecond: 999
2547
+ })).toISO() ?? null);
2548
+ }, [
2549
+ minuteMode,
2550
+ onChange,
2551
+ operator
2552
+ ]);
2363
2553
  if (isValuelessOperator(operator)) return null;
2364
2554
  return /* @__PURE__ */ jsx(DatePicker, {
2365
- value: parseIsoDate(value),
2555
+ value: parseIsoDate(value, field, operator, dateTimesEnabled),
2366
2556
  size,
2367
2557
  "aria-label": ariaLabel ?? `${field.label} value`,
2368
2558
  onChange: handleChange,
2559
+ granularity: minuteMode ? "minute" : "day",
2369
2560
  useModalZIndex: true
2370
2561
  });
2371
2562
  };
@@ -2683,7 +2874,7 @@ const PillRoot = styled.span`
2683
2874
  background-color: ${tokens ? withAlpha(tokens.SurfaceAccent, tokens.Opacity25) : Color.CorePurple100};
2684
2875
  color: ${semanticColor(theme, "FgAccent", Color.TextActive)};
2685
2876
  ` : css`
2686
- background-color: ${semanticColor(theme, "SurfaceSubtle", Color.BackgroundSecondary)};
2877
+ background-color: ${semanticColor(theme, "SurfaceSecondary", theme.color.background.secondary)};
2687
2878
  color: ${semanticColor(theme, "FgPrimary", Color.TextPrimary)};
2688
2879
 
2689
2880
  &:hover {
@@ -2881,20 +3072,20 @@ const OverflowTooltipList = styled(Stack).attrs({
2881
3072
  * `optionLabels` lookup so the pill renders human-readable option labels
2882
3073
  * instead of raw option ids. Null / undefined collapses to an empty list.
2883
3074
  */
2884
- function normalizeValueToDisplay(value, optionLabels, relativeDate) {
3075
+ function normalizeValueToDisplay(value, optionLabels, relativeDate, fieldType) {
2885
3076
  if (value == null) return [];
2886
3077
  const relativeLabel = relativePresetLabel(value, relativeDate);
2887
3078
  if (relativeLabel) return [relativeLabel];
2888
- const lookup = (raw) => optionLabels?.[raw] ?? raw;
3079
+ const lookup = (raw) => optionLabels?.[raw] ?? (fieldType === "date" || fieldType === "date_range" ? formatDateValueForDisplay(raw) : raw);
2889
3080
  if (Array.isArray(value)) {
2890
3081
  if (value.length > 0 && Array.isArray(value[0])) return [`${value.length} group${value.length === 1 ? "" : "s"}`];
2891
3082
  return value.map((entry) => lookup(String(entry)));
2892
3083
  }
2893
3084
  if (typeof value === "object") {
2894
3085
  const { startDate, endDate } = value;
2895
- if (startDate && endDate) return [`${startDate} – ${endDate}`];
3086
+ if (startDate && endDate) return [`${lookup(startDate)} – ${lookup(endDate)}`];
2896
3087
  const single = startDate || endDate;
2897
- return single ? [single] : [];
3088
+ return single ? [lookup(single)] : [];
2898
3089
  }
2899
3090
  if (typeof value === "boolean") return [value ? "True" : "False"];
2900
3091
  if (typeof value === "number") return [String(value)];
@@ -2916,7 +3107,7 @@ function buildAccessibleName(field, rule, displayedValues) {
2916
3107
  const FilterPill = forwardRef(function FilterPill({ field, rule, onClick, onDismiss, variant = "default", optionLabels, size, ...rest }, ref) {
2917
3108
  const reactId = useMemo(() => uniqueId("filter-pill-"), []);
2918
3109
  const resolvedSize = useFilterBarSize(size);
2919
- const displayedValues = useMemo(() => rule && !isValuelessOperator(rule.operator) ? normalizeValueToDisplay(rule.value, optionLabels, carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0) : [], [
3110
+ const displayedValues = useMemo(() => rule && !isValuelessOperator(rule.operator) ? normalizeValueToDisplay(rule.value, optionLabels, carriesDateRange(rule.operator, field?.type) ? rule.relativeDate : void 0, field?.type) : [], [
2920
3111
  rule,
2921
3112
  optionLabels,
2922
3113
  field?.type
@@ -2963,9 +3154,21 @@ const FilterPill = forwardRef(function FilterPill({ field, rule, onClick, onDism
2963
3154
  });
2964
3155
  //#endregion
2965
3156
  //#region components/DataTable/TableControls/FiltersV2/FilterPopover/FilterPopover.tsx
3157
+ /**
3158
+ * Compact value controls fit the minimum width; wider controls can grow
3159
+ * up to 320px without overflowing, or 520px when the popover is `wide`.
3160
+ */
3161
+ const POPOVER_MIN_WIDTH = "196px";
3162
+ const POPOVER_MAX_WIDTH = "320px";
3163
+ const POPOVER_WIDE_MAX_WIDTH = "520px";
3164
+ const OperatorMenu = styled(DropdownMenu_default)`
3165
+ && {
3166
+ background-color: ${({ theme }) => semanticColor(theme, "SurfaceElevated", theme.color.background.primary)};
3167
+ }
3168
+ `;
2966
3169
  const PopoverPanel = styled(Stack).attrs({ spacing: Spacing[0] })`
2967
- min-width: ${"196px"};
2968
- max-width: ${"320px"};
3170
+ min-width: ${POPOVER_MIN_WIDTH};
3171
+ max-width: ${({ $wide }) => $wide ? POPOVER_WIDE_MAX_WIDTH : POPOVER_MAX_WIDTH};
2969
3172
  /* The design-system Popover.Card already supplies bg, border, shadow,
2970
3173
  and 6px corner radius — we just constrain the inner content. */
2971
3174
  `;
@@ -3067,7 +3270,7 @@ const Footer = styled(HStack).attrs({
3067
3270
  * back through `onChangeOperator` and forwards open/close transitions
3068
3271
  * through Radix's controlled props.
3069
3272
  */
3070
- const FilterPopover = ({ field, operator, onChangeOperator, valueControlSlot, onClose, trigger, open, onOpenChange, size }) => {
3273
+ const FilterPopover = ({ field, operator, onChangeOperator, valueControlSlot, onClose, trigger, open, onOpenChange, size, wide = false }) => {
3071
3274
  const resolvedSize = useFilterBarSize(size);
3072
3275
  const valueless = isValuelessOperator(operator);
3073
3276
  const CaretIcon = resolvedSize === "sm" ? CaretDownIcon$1 : CaretDownIcon;
@@ -3116,6 +3319,7 @@ const FilterPopover = ({ field, operator, onChangeOperator, valueControlSlot, on
3116
3319
  "aria-label": `Edit filter for ${field.label}`,
3117
3320
  noPadding: true,
3118
3321
  children: /* @__PURE__ */ jsxs(PopoverPanel, {
3322
+ $wide: wide,
3119
3323
  onKeyDown: handleKeyDown,
3120
3324
  children: [/* @__PURE__ */ jsxs(Main, {
3121
3325
  $valueless: valueless,
@@ -3125,7 +3329,7 @@ const FilterPopover = ({ field, operator, onChangeOperator, valueControlSlot, on
3125
3329
  children: [/* @__PURE__ */ jsx(FieldTypeLabel, {
3126
3330
  $size: resolvedSize,
3127
3331
  children: /* @__PURE__ */ jsx(TruncatedText, { children: field.label })
3128
- }), showOperatorSelector ? /* @__PURE__ */ jsx(DropdownMenu_default, {
3332
+ }), showOperatorSelector ? /* @__PURE__ */ jsx(OperatorMenu, {
3129
3333
  trigger: /* @__PURE__ */ jsxs(InlineOperatorTrigger, {
3130
3334
  type: "button",
3131
3335
  "aria-label": "Operator",
@@ -3773,7 +3977,7 @@ function useStableFieldIds(fieldIds) {
3773
3977
  if (previous == null || fieldIds == null || previous.length !== fieldIds.length || fieldIds.some((id, index) => previous[index] !== id)) stable.current = fieldIds;
3774
3978
  return stable.current;
3775
3979
  }
3776
- function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = true, relativeDatesEnabled = false, singleUseFields = false, size = "md", valueControlResolver }) {
3980
+ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = true, relativeDatesEnabled = false, dateTimesEnabled = false, singleUseFields = false, size = "md", valueControlResolver }) {
3777
3981
  const filterState = useFilterStateV2({
3778
3982
  registry,
3779
3983
  initialState,
@@ -3882,6 +4086,7 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
3882
4086
  "aria-label": "Filter bar",
3883
4087
  children: [filterState.advancedRulesEnabled ? /* @__PURE__ */ jsx(AdvancedFilterRulesPopover, {
3884
4088
  registry,
4089
+ dateTimesEnabled,
3885
4090
  compound: filterState.state.compound,
3886
4091
  open: rulesPopoverOpen,
3887
4092
  onOpenChange: setRulesPopoverOpen,
@@ -3895,7 +4100,8 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
3895
4100
  relativeDate,
3896
4101
  onChange,
3897
4102
  layout: "inline",
3898
- relativeDatesEnabled
4103
+ relativeDatesEnabled,
4104
+ dateTimesEnabled
3899
4105
  }, valueControlResolver),
3900
4106
  trigger: /* @__PURE__ */ jsx(RulesPill, {
3901
4107
  compound: filterState.state.compound,
@@ -3920,6 +4126,7 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
3920
4126
  return /* @__PURE__ */ jsx(FilterPopover, {
3921
4127
  field,
3922
4128
  operator: rule.operator,
4129
+ wide: isMinutePrecisionDate(field, rule.operator, dateTimesEnabled) && carriesDateRange(rule.operator, field.type),
3923
4130
  onChangeOperator: (op) => {
3924
4131
  const { relativeDate: _staleRelativeDate, ...rest } = rule;
3925
4132
  filterState.updateTopLevelRule(rule.id, {
@@ -3942,7 +4149,8 @@ function FilterBar({ registry, initialState, onChange, advancedRulesEnabled = tr
3942
4149
  });
3943
4150
  },
3944
4151
  onCommit: () => setEditingRuleId(null),
3945
- relativeDatesEnabled
4152
+ relativeDatesEnabled,
4153
+ dateTimesEnabled
3946
4154
  }, valueControlResolver),
3947
4155
  onClose: () => setEditingRuleId(null),
3948
4156
  open: isOpen,
@@ -4290,4 +4498,4 @@ function decodeBase64(input) {
4290
4498
  //#endregion
4291
4499
  export { TableControlsProvider as A, getOperatorsForType as C, reconcileValueForOperator as D, isValuelessOperator as E, ControlBar as F, DataTableCompactBar as I, TableViewConfiguration as M, TableViewConfigurationDropdown as N, dateRuleIntent as O, TableControls as P, getOperatorsForField as S, isRangeOperator as T, FILTER_SIZE_TOKENS as _, encodeFilterStateToUrlParam as a, emptyValueForRule as b, FilterBar_default as c, isFilterStateV2 as d, pruneToRegistry as f, resolveValueControl as g, PillShell as h, decodeFilterStateFromUrl as i, useTableControls as j, TableControlsContext as k, useFilterStateV2 as l, isEmptyState as m, applyFilterStateToSearchParams as n, FieldRegistry as o, EMPTY_FILTER_STATE as p, decodeFilterStateFromString as r, buildFieldRegistry as s, FILTER_STATE_URL_PARAM as t, hasCompleteValue as u, useFilterBarSize as v, isCompleteDateRange as w, getDefaultOperatorForType as x, resolveDateRangeRuleValue as y };
4292
4500
 
4293
- //# sourceMappingURL=TableControls-BxuPCUQS.mjs.map
4501
+ //# sourceMappingURL=TableControls-CqW_nyBY.mjs.map