@astryxdesign/core 0.7.7 → 0.7.8-canary.0d54fd3

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 (682) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +4 -1
  2. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +46 -6
  4. package/dist/AppShell/AppShell.d.ts.map +1 -1
  5. package/dist/AppShell/AppShell.js +11 -3
  6. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  7. package/dist/BottomSheet/BottomSheet.js +1 -0
  8. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  9. package/dist/BottomSheet/BottomSheetPanel.js +25 -4
  10. package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
  11. package/dist/BottomSheet/BottomSheetSwitcher.js +5 -0
  12. package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
  13. package/dist/BottomSheet/useMobileKeyboard.js +6 -0
  14. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  15. package/dist/BottomSheet/useSheetGestures.js +12 -1
  16. package/dist/Button/Button.d.ts.map +1 -1
  17. package/dist/Button/Button.js +17 -1
  18. package/dist/Calendar/Calendar.d.ts.map +1 -1
  19. package/dist/Calendar/Calendar.js +18 -22
  20. package/dist/Calendar/getWeekdayHeaderNames.d.ts +16 -0
  21. package/dist/Calendar/getWeekdayHeaderNames.d.ts.map +1 -0
  22. package/dist/Calendar/getWeekdayHeaderNames.js +70 -0
  23. package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
  24. package/dist/Calendar/hooks/useCalendarDays.js +2 -10
  25. package/dist/Calendar/{standaloneShortWeekdayNames.generated.d.ts → weekdayHeaderNames.generated.d.ts} +14 -14
  26. package/dist/Calendar/weekdayHeaderNames.generated.d.ts.map +1 -0
  27. package/dist/Calendar/{standaloneShortWeekdayNames.generated.js → weekdayHeaderNames.generated.js} +12 -12
  28. package/dist/Carousel/Carousel.d.ts.map +1 -1
  29. package/dist/Carousel/Carousel.js +2 -0
  30. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  31. package/dist/Chat/ChatComposerInput.js +6 -1
  32. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  33. package/dist/Chat/ChatMessageList.js +2 -1
  34. package/dist/Chat/useChatDictation.d.ts.map +1 -1
  35. package/dist/Chat/useChatDictation.js +2 -0
  36. package/dist/Chat/useChatNewMessages.js +1 -1
  37. package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
  38. package/dist/Chat/useChatStreamScroll.js +2 -0
  39. package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
  40. package/dist/Chat/useSpeechRecognition.js +3 -0
  41. package/dist/Chat/useTriggerMenu.js +1 -1
  42. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  43. package/dist/CheckboxInput/CheckboxInput.js +17 -12
  44. package/dist/CheckboxList/CheckboxList.d.ts +8 -1
  45. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  46. package/dist/CheckboxList/CheckboxList.js +2 -0
  47. package/dist/CodeBlock/CodeBlock.d.ts +10 -1
  48. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  49. package/dist/CodeBlock/CodeBlock.js +28 -11
  50. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  51. package/dist/CommandPalette/CommandPalette.js +2 -0
  52. package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
  53. package/dist/CommandPalette/CommandPaletteItem.js +2 -0
  54. package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
  55. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  56. package/dist/ComplexSelector/ComplexSelector.js +14 -4
  57. package/dist/ContextMenu/ContextMenu.js +2 -2
  58. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  59. package/dist/DateInput/MonthScroller.js +5 -2
  60. package/dist/DateInput/PickerWheel.d.ts +19 -0
  61. package/dist/DateInput/PickerWheel.d.ts.map +1 -0
  62. package/dist/DateInput/PickerWheel.js +625 -0
  63. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  64. package/dist/DateInput/TouchDateField.js +9 -30
  65. package/dist/DateInput/Wheel.d.ts +18 -37
  66. package/dist/DateInput/Wheel.d.ts.map +1 -1
  67. package/dist/DateInput/Wheel.js +84 -113
  68. package/dist/DateInput/useOwnScrollGesture.d.ts +10 -0
  69. package/dist/DateInput/useOwnScrollGesture.d.ts.map +1 -1
  70. package/dist/DateInput/useOwnScrollGesture.js +16 -3
  71. package/dist/DateInput/usePointerDragScroll.d.ts.map +1 -1
  72. package/dist/DateInput/usePointerDragScroll.js +2 -0
  73. package/dist/DateInput/useScrollSettle.d.ts.map +1 -1
  74. package/dist/DateInput/useScrollSettle.js +3 -0
  75. package/dist/DateInput/useWheelListbox.d.ts +59 -0
  76. package/dist/DateInput/useWheelListbox.d.ts.map +1 -0
  77. package/dist/DateInput/useWheelListbox.js +88 -0
  78. package/dist/DateInput/wheelOptions.d.ts +74 -0
  79. package/dist/DateInput/wheelOptions.d.ts.map +1 -0
  80. package/dist/DateInput/wheelOptions.js +98 -0
  81. package/dist/DateInput/wheelPhysics.d.ts +127 -0
  82. package/dist/DateInput/wheelPhysics.d.ts.map +1 -0
  83. package/dist/DateInput/wheelPhysics.js +341 -0
  84. package/dist/DateInput/wheelStrip.d.ts +92 -0
  85. package/dist/DateInput/wheelStrip.d.ts.map +1 -0
  86. package/dist/DateInput/wheelStrip.js +258 -0
  87. package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
  88. package/dist/DateTimeInput/TouchDateTimeField.js +10 -10
  89. package/dist/Dialog/Dialog.d.ts.map +1 -1
  90. package/dist/Dialog/Dialog.js +9 -32
  91. package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
  92. package/dist/Drawer/useDrawerDialogPresence.js +3 -0
  93. package/dist/DropdownMenu/useMenuOverflow.d.ts.map +1 -1
  94. package/dist/DropdownMenu/useMenuOverflow.js +5 -0
  95. package/dist/Field/Field.js +2 -2
  96. package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts.map +1 -1
  97. package/dist/FieldStatus/useFieldStatusAnnouncement.js +1 -0
  98. package/dist/FormLayout/FormLayout.d.ts +5 -1
  99. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  100. package/dist/HoverCard/HoverCard.d.ts +6 -4
  101. package/dist/HoverCard/HoverCard.d.ts.map +1 -1
  102. package/dist/HoverCard/HoverCard.js +48 -3
  103. package/dist/HoverCard/useHoverCard.d.ts +5 -4
  104. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  105. package/dist/HoverCard/useHoverCard.js +20 -33
  106. package/dist/Icon/Icon.d.ts +5 -1
  107. package/dist/Icon/Icon.d.ts.map +1 -1
  108. package/dist/Icon/Icon.js +5 -2
  109. package/dist/InfoTip/InfoTip.d.ts +5 -5
  110. package/dist/InfoTip/InfoTip.d.ts.map +1 -1
  111. package/dist/InfoTip/InfoTip.js +58 -19
  112. package/dist/Item/useSwipeAction.d.ts.map +1 -1
  113. package/dist/Item/useSwipeAction.js +3 -0
  114. package/dist/Layer/modalOutlet.d.ts.map +1 -1
  115. package/dist/Layer/modalOutlet.js +2 -0
  116. package/dist/Layer/outsidePress.d.ts.map +1 -1
  117. package/dist/Layer/outsidePress.js +1 -0
  118. package/dist/Layer/useLayer.d.ts.map +1 -1
  119. package/dist/Layer/useLayer.js +4 -1
  120. package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
  121. package/dist/Layer/useLayerDismissal.js +3 -0
  122. package/dist/Layer/useTouchTrigger.d.ts +13 -7
  123. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  124. package/dist/Layer/useTouchTrigger.js +20 -6
  125. package/dist/Layout/index.d.ts +1 -1
  126. package/dist/Layout/index.d.ts.map +1 -1
  127. package/dist/Layout/index.js +1 -1
  128. package/dist/Layout/layoutReset.js +1 -1
  129. package/dist/Layout/overlayPaddingReset.stylex.d.ts +68 -0
  130. package/dist/Layout/overlayPaddingReset.stylex.d.ts.map +1 -0
  131. package/dist/Layout/overlayPaddingReset.stylex.js +72 -0
  132. package/dist/Layout/padding.stylex.d.ts +5 -129
  133. package/dist/Layout/padding.stylex.d.ts.map +1 -1
  134. package/dist/Layout/padding.stylex.js +9 -143
  135. package/dist/Layout/paddingStyles.stylex.d.ts +83 -0
  136. package/dist/Layout/paddingStyles.stylex.d.ts.map +1 -0
  137. package/dist/Layout/paddingStyles.stylex.js +99 -0
  138. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  139. package/dist/Lightbox/Lightbox.js +20 -1
  140. package/dist/MobileNav/MobileNav.d.ts +3 -2
  141. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  142. package/dist/MobileNav/MobileNav.js +10 -26
  143. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  144. package/dist/MultiSelector/MultiSelector.js +2 -1
  145. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  146. package/dist/NumberInput/NumberInput.js +2 -1
  147. package/dist/Outline/useOutlineFromDOM.d.ts.map +1 -1
  148. package/dist/Outline/useOutlineFromDOM.js +3 -0
  149. package/dist/Outline/useScrollSpy.d.ts.map +1 -1
  150. package/dist/Outline/useScrollSpy.js +3 -0
  151. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  152. package/dist/OverflowList/OverflowList.js +3 -0
  153. package/dist/Popover/Popover.d.ts.map +1 -1
  154. package/dist/Popover/Popover.js +6 -0
  155. package/dist/Popover/usePopover.js +2 -2
  156. package/dist/PowerSearch/PowerSearch.d.ts +39 -4
  157. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  158. package/dist/PowerSearch/PowerSearch.js +441 -134
  159. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +102 -0
  160. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
  161. package/dist/PowerSearch/PowerSearchBottomSheet.js +1919 -0
  162. package/dist/PowerSearch/PowerSearchEditPopover.d.ts +35 -2
  163. package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
  164. package/dist/PowerSearch/PowerSearchEditPopover.js +43 -10
  165. package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
  166. package/dist/PowerSearch/PowerSearchFilterEditor.d.ts.map +1 -1
  167. package/dist/PowerSearch/PowerSearchFilterEditor.js +4 -2
  168. package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
  169. package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
  170. package/dist/PowerSearch/PowerSearchToken.js +3 -2
  171. package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
  172. package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
  173. package/dist/PowerSearch/PowerSearchValueEditor.js +273 -86
  174. package/dist/PowerSearch/formatFilterValue.d.ts +14 -7
  175. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  176. package/dist/PowerSearch/formatFilterValue.js +31 -23
  177. package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
  178. package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
  179. package/dist/PowerSearch/formatTokenValue.js +161 -0
  180. package/dist/PowerSearch/index.d.ts +1 -1
  181. package/dist/PowerSearch/index.d.ts.map +1 -1
  182. package/dist/PowerSearch/powerSearchDateZone.d.ts +25 -0
  183. package/dist/PowerSearch/powerSearchDateZone.d.ts.map +1 -0
  184. package/dist/PowerSearch/powerSearchDateZone.js +57 -0
  185. package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
  186. package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
  187. package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
  188. package/dist/PowerSearch/types.d.ts +8 -1
  189. package/dist/PowerSearch/types.d.ts.map +1 -1
  190. package/dist/ProgressBar/ProgressBarTouch.d.ts.map +1 -1
  191. package/dist/ProgressBar/ProgressBarTouch.js +2 -0
  192. package/dist/RadioList/RadioList.d.ts.map +1 -1
  193. package/dist/RadioList/RadioList.js +3 -2
  194. package/dist/RadioList/RadioListItem.d.ts +1 -1
  195. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  196. package/dist/RadioList/RadioListItem.js +5 -3
  197. package/dist/Resizable/ResizeHandle.d.ts +2 -1
  198. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  199. package/dist/Resizable/ResizeHandle.js +101 -77
  200. package/dist/Resizable/createResizable.d.ts +145 -0
  201. package/dist/Resizable/createResizable.d.ts.map +1 -0
  202. package/dist/Resizable/createResizable.js +575 -0
  203. package/dist/Resizable/useResizable.d.ts +3 -3
  204. package/dist/Resizable/useResizable.d.ts.map +1 -1
  205. package/dist/Resizable/useResizable.js +252 -459
  206. package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -1
  207. package/dist/SegmentedControl/useSegmentedSelectionMotion.js +3 -3
  208. package/dist/SelectableCard/SelectableCard.d.ts +2 -0
  209. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  210. package/dist/SelectableCard/SelectableCard.js +36 -11
  211. package/dist/SelectableCard/selectableCardInput.d.ts +12 -0
  212. package/dist/SelectableCard/selectableCardInput.d.ts.map +1 -0
  213. package/dist/SelectableCard/selectableCardInput.js +20 -0
  214. package/dist/Selector/Selector.d.ts.map +1 -1
  215. package/dist/Selector/Selector.js +7 -9
  216. package/dist/SideNav/SideNav.d.ts.map +1 -1
  217. package/dist/SideNav/SideNav.js +36 -5
  218. package/dist/Slider/Slider.d.ts.map +1 -1
  219. package/dist/Slider/Slider.js +16 -11
  220. package/dist/Slider/sliderTouchController.js +2 -2
  221. package/dist/Spinner/Spinner.d.ts +1 -1
  222. package/dist/Spinner/Spinner.d.ts.map +1 -1
  223. package/dist/Spinner/Spinner.js +60 -58
  224. package/dist/Stepper/Stepper.d.ts.map +1 -1
  225. package/dist/Stepper/Stepper.js +10 -15
  226. package/dist/Switch/Switch.d.ts.map +1 -1
  227. package/dist/Switch/Switch.js +4 -10
  228. package/dist/Switch/useSwitchTouch.js +4 -4
  229. package/dist/Table/BaseTable.d.ts.map +1 -1
  230. package/dist/Table/BaseTable.js +29 -8
  231. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  232. package/dist/Table/plugins/columnResize/useTableColumnResize.js +3 -1
  233. package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  234. package/dist/Table/plugins/filtering/useTableFiltering.js +2 -1
  235. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  236. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +4 -0
  237. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  238. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -0
  239. package/dist/TextArea/TextArea.d.ts.map +1 -1
  240. package/dist/TextArea/TextArea.js +2 -1
  241. package/dist/TextInput/TextInput.d.ts +2 -2
  242. package/dist/TextInput/TextInput.d.ts.map +1 -1
  243. package/dist/TextInput/TextInput.js +12 -8
  244. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  245. package/dist/TimeInput/TimeInput.js +2 -0
  246. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  247. package/dist/TimeInput/TouchTimeField.js +2 -0
  248. package/dist/Timer/Timer.d.ts.map +1 -1
  249. package/dist/Timer/Timer.js +2 -0
  250. package/dist/Timestamp/Timestamp.js +1 -1
  251. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  252. package/dist/Timestamp/formatInstant.js +1 -23
  253. package/dist/Toast/Toast.d.ts +11 -1
  254. package/dist/Toast/Toast.d.ts.map +1 -1
  255. package/dist/Toast/Toast.js +25 -15
  256. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  257. package/dist/Toast/ToastViewport.js +97 -34
  258. package/dist/Toast/types.d.ts +9 -3
  259. package/dist/Toast/types.d.ts.map +1 -1
  260. package/dist/Toast/useToast.d.ts.map +1 -1
  261. package/dist/Toast/useToast.js +1 -0
  262. package/dist/Tokenizer/Tokenizer.d.ts +44 -46
  263. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  264. package/dist/Tokenizer/Tokenizer.js +20 -21
  265. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
  266. package/dist/Tokenizer/TokenizerBottomSheet.js +4 -6
  267. package/dist/Tokenizer/index.d.ts +1 -1
  268. package/dist/Tokenizer/index.d.ts.map +1 -1
  269. package/dist/Tooltip/Tooltip.d.ts +2 -23
  270. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  271. package/dist/Tooltip/Tooltip.js +5 -29
  272. package/dist/Tooltip/useTooltip.d.ts +23 -30
  273. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  274. package/dist/Tooltip/useTooltip.js +194 -108
  275. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  276. package/dist/Typeahead/BaseTypeahead.js +27 -18
  277. package/dist/Typeahead/TypeaheadItem.d.ts +2 -1
  278. package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
  279. package/dist/animator/createAnimator.d.ts +98 -0
  280. package/dist/animator/createAnimator.d.ts.map +1 -0
  281. package/dist/animator/createAnimator.js +259 -0
  282. package/dist/astryx.css +41 -7
  283. package/dist/gestures/GestureHost.d.ts +16 -1
  284. package/dist/gestures/GestureHost.d.ts.map +1 -1
  285. package/dist/gestures/GestureHost.js +1 -1
  286. package/dist/gestures/PressTracker.d.ts.map +1 -1
  287. package/dist/gestures/PressTracker.js +4 -3
  288. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
  289. package/dist/hooks/ModalAnnounceProvider.js +1 -0
  290. package/dist/hooks/actionGroupTracker.d.ts +4 -1
  291. package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
  292. package/dist/hooks/actionGroupTracker.js +13 -3
  293. package/dist/hooks/index.d.ts +1 -0
  294. package/dist/hooks/index.d.ts.map +1 -1
  295. package/dist/hooks/index.js +1 -0
  296. package/dist/hooks/longPressDetector.d.ts +66 -0
  297. package/dist/hooks/longPressDetector.d.ts.map +1 -0
  298. package/dist/hooks/longPressDetector.js +200 -0
  299. package/dist/hooks/pressGroupContext.d.ts +6 -0
  300. package/dist/hooks/pressGroupContext.d.ts.map +1 -0
  301. package/dist/hooks/pressGroupContext.js +20 -0
  302. package/dist/hooks/rootScrollStyles.d.ts +48 -0
  303. package/dist/hooks/rootScrollStyles.d.ts.map +1 -0
  304. package/dist/hooks/rootScrollStyles.js +207 -0
  305. package/dist/hooks/scrollLockTouchGuard.d.ts +13 -0
  306. package/dist/hooks/scrollLockTouchGuard.d.ts.map +1 -0
  307. package/dist/hooks/scrollLockTouchGuard.js +117 -0
  308. package/dist/hooks/scrollbarGutter.d.ts +4 -4
  309. package/dist/hooks/scrollbarGutter.d.ts.map +1 -1
  310. package/dist/hooks/scrollbarGutter.js +36 -23
  311. package/dist/hooks/useActionGroupTracking.d.ts +53 -0
  312. package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
  313. package/dist/hooks/useActionGroupTracking.js +174 -0
  314. package/dist/hooks/useAnimator.d.ts +41 -0
  315. package/dist/hooks/useAnimator.d.ts.map +1 -0
  316. package/dist/hooks/useAnimator.js +70 -0
  317. package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
  318. package/dist/hooks/useAnnounceRenderedText.js +1 -0
  319. package/dist/hooks/useAttachment.d.ts +1 -1
  320. package/dist/hooks/useAttachment.js +1 -1
  321. package/dist/hooks/useAutoMediaMode.d.ts.map +1 -1
  322. package/dist/hooks/useAutoMediaMode.js +1 -0
  323. package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
  324. package/dist/hooks/useBusyAnnouncement.js +2 -0
  325. package/dist/hooks/useDevWarning.d.ts.map +1 -1
  326. package/dist/hooks/useDevWarning.js +2 -0
  327. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  328. package/dist/hooks/useFocusTrap.js +2 -0
  329. package/dist/hooks/useGridFocus.d.ts +8 -5
  330. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  331. package/dist/hooks/useGridFocus.js +4 -3
  332. package/dist/hooks/useHotkeys.d.ts.map +1 -1
  333. package/dist/hooks/useHotkeys.js +3 -0
  334. package/dist/hooks/useImageMode.d.ts.map +1 -1
  335. package/dist/hooks/useImageMode.js +3 -0
  336. package/dist/hooks/useInputStatusIcon.d.ts +1 -1
  337. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  338. package/dist/hooks/useInputStatusIcon.js +2 -2
  339. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  340. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  341. package/dist/hooks/useKeyboardHint.js +1 -1
  342. package/dist/hooks/useLongPress.d.ts +8 -9
  343. package/dist/hooks/useLongPress.d.ts.map +1 -1
  344. package/dist/hooks/useLongPress.js +23 -106
  345. package/dist/hooks/useMenuHover.d.ts.map +1 -1
  346. package/dist/hooks/useMenuHover.js +2 -0
  347. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  348. package/dist/hooks/useMenuPress.js +3 -0
  349. package/dist/hooks/useOverflow.d.ts.map +1 -1
  350. package/dist/hooks/useOverflow.js +2 -1
  351. package/dist/hooks/usePressFeedback.d.ts.map +1 -1
  352. package/dist/hooks/usePressFeedback.js +1 -0
  353. package/dist/hooks/useResolvedRequired.d.ts +3 -0
  354. package/dist/hooks/useResolvedRequired.d.ts.map +1 -1
  355. package/dist/hooks/useResolvedRequired.js +3 -0
  356. package/dist/hooks/useScrollLock.d.ts +8 -9
  357. package/dist/hooks/useScrollLock.d.ts.map +1 -1
  358. package/dist/hooks/useScrollLock.js +50 -48
  359. package/dist/hooks/useScrollableArea.d.ts.map +1 -1
  360. package/dist/hooks/useScrollableArea.js +5 -0
  361. package/dist/hooks/useStreamingText.d.ts.map +1 -1
  362. package/dist/hooks/useStreamingText.js +3 -0
  363. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
  364. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
  365. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +42 -0
  366. package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
  367. package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
  368. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
  369. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
  370. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
  371. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  372. package/dist/i18n/generated-locales/en.generated.js +30 -0
  373. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  374. package/dist/i18n/generated-locales/pseudo.generated.js +30 -0
  375. package/dist/index.d.ts +1 -0
  376. package/dist/index.d.ts.map +1 -1
  377. package/dist/index.js +4 -0
  378. package/dist/internal/indicatorPress.stylex.d.ts +20 -0
  379. package/dist/internal/indicatorPress.stylex.d.ts.map +1 -0
  380. package/dist/internal/indicatorPress.stylex.js +26 -0
  381. package/dist/internal/selectable-card.d.ts +21 -0
  382. package/dist/internal/selectable-card.d.ts.map +1 -0
  383. package/dist/internal/selectable-card.js +20 -0
  384. package/dist/internal/sheetDraft.d.ts +2 -2
  385. package/dist/internal/sheetDraft.js +2 -2
  386. package/dist/motion/animatedLayout.d.ts +8 -0
  387. package/dist/motion/animatedLayout.d.ts.map +1 -1
  388. package/dist/motion/animatedLayout.js +246 -53
  389. package/dist/motion/animator.d.ts +14 -14
  390. package/dist/motion/animator.d.ts.map +1 -1
  391. package/dist/motion/animator.js +45 -26
  392. package/dist/motion/frameBlock.d.ts +14 -0
  393. package/dist/motion/frameBlock.d.ts.map +1 -0
  394. package/dist/motion/frameBlock.js +16 -0
  395. package/dist/motion/progress.d.ts +88 -0
  396. package/dist/motion/progress.d.ts.map +1 -0
  397. package/dist/motion/progress.js +128 -0
  398. package/dist/motion/reducedMotion.d.ts.map +1 -1
  399. package/dist/motion/reducedMotion.js +3 -1
  400. package/dist/motion/uikit/alert.d.ts +41 -0
  401. package/dist/motion/uikit/alert.d.ts.map +1 -0
  402. package/dist/motion/uikit/alert.js +43 -0
  403. package/dist/motion/uikit/index.d.ts +4 -3
  404. package/dist/motion/uikit/index.d.ts.map +1 -1
  405. package/dist/motion/uikit/index.js +4 -3
  406. package/dist/motion/uikit/picker.d.ts +96 -0
  407. package/dist/motion/uikit/picker.d.ts.map +1 -0
  408. package/dist/motion/uikit/picker.js +117 -0
  409. package/dist/privateAttributes/pressGroupItem.stylex.d.ts +22 -0
  410. package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
  411. package/dist/privateAttributes/pressGroupItem.stylex.js +36 -0
  412. package/dist/privateAttributes/reducedMotion.stylex.d.ts +23 -0
  413. package/dist/privateAttributes/reducedMotion.stylex.d.ts.map +1 -0
  414. package/dist/privateAttributes/reducedMotion.stylex.js +40 -0
  415. package/dist/theme/Theme.d.ts.map +1 -1
  416. package/dist/theme/Theme.js +29 -4
  417. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  418. package/dist/theme/generateThemeRules.js +14 -13
  419. package/dist/theme/motionKnobs.d.ts +4 -3
  420. package/dist/theme/motionKnobs.d.ts.map +1 -1
  421. package/dist/theme/motionKnobs.js +3 -2
  422. package/dist/theme/themeMotion.d.ts +6 -0
  423. package/dist/theme/themeMotion.d.ts.map +1 -1
  424. package/dist/theme/themeMotion.js +15 -2
  425. package/dist/theme/tokens.stylex.d.ts +3 -0
  426. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  427. package/dist/theme/tokens.stylex.js +4 -1
  428. package/dist/utils/dateParser.d.ts.map +1 -1
  429. package/dist/utils/dateParser.js +12 -0
  430. package/dist/utils/disabledInteraction.d.ts +10 -2
  431. package/dist/utils/disabledInteraction.d.ts.map +1 -1
  432. package/dist/utils/disabledInteraction.js +16 -2
  433. package/dist/utils/focusReturn.d.ts +22 -25
  434. package/dist/utils/focusReturn.d.ts.map +1 -1
  435. package/dist/utils/focusReturn.js +36 -29
  436. package/dist/utils/index.d.ts +1 -1
  437. package/dist/utils/index.d.ts.map +1 -1
  438. package/dist/utils/index.js +1 -1
  439. package/dist/utils/interactionModality.d.ts.map +1 -1
  440. package/dist/utils/interactionModality.js +4 -0
  441. package/dist/utils/interactionOverlay.stylex.d.ts +3 -2
  442. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
  443. package/dist/utils/interactionOverlay.stylex.js +3 -2
  444. package/dist/utils/isFocusDetached.d.ts +27 -0
  445. package/dist/utils/isFocusDetached.d.ts.map +1 -0
  446. package/dist/utils/isFocusDetached.js +32 -0
  447. package/dist/utils/plainDate.d.ts +31 -0
  448. package/dist/utils/plainDate.d.ts.map +1 -1
  449. package/dist/utils/plainDate.js +68 -4
  450. package/dist/utils/pressFeedback.d.ts.map +1 -1
  451. package/dist/utils/pressFeedback.js +20 -6
  452. package/dist/utils/triggerFocus.d.ts +36 -0
  453. package/dist/utils/triggerFocus.d.ts.map +1 -0
  454. package/dist/utils/triggerFocus.js +65 -0
  455. package/locales/en.json +120 -0
  456. package/locales/pseudo.json +90 -0
  457. package/package.json +14 -9
  458. package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
  459. package/src/AlertDialog/AlertDialog.tsx +46 -5
  460. package/src/AppShell/AppShell.tsx +13 -4
  461. package/src/BottomSheet/BottomSheet.tsx +1 -0
  462. package/src/BottomSheet/BottomSheetPanel.tsx +39 -3
  463. package/src/BottomSheet/BottomSheetSwitcher.tsx +5 -0
  464. package/src/BottomSheet/useMobileKeyboard.ts +4 -0
  465. package/src/BottomSheet/useSheetGestures.ts +10 -1
  466. package/src/Button/Button.tsx +26 -4
  467. package/src/Calendar/Calendar.tsx +40 -32
  468. package/src/Calendar/getWeekdayHeaderNames.ts +88 -0
  469. package/src/Calendar/hooks/useCalendarDays.ts +5 -10
  470. package/src/Calendar/{standaloneShortWeekdayNames.generated.ts → weekdayHeaderNames.generated.ts} +14 -14
  471. package/src/Carousel/Carousel.tsx +1 -0
  472. package/src/Chat/ChatComposerInput.tsx +4 -7
  473. package/src/Chat/ChatMessageList.tsx +2 -1
  474. package/src/Chat/useChatDictation.ts +1 -0
  475. package/src/Chat/useChatNewMessages.ts +1 -1
  476. package/src/Chat/useChatStreamScroll.ts +2 -0
  477. package/src/Chat/useSpeechRecognition.ts +2 -0
  478. package/src/Chat/useTriggerMenu.tsx +1 -1
  479. package/src/CheckboxInput/CheckboxInput.doc.mjs +18 -0
  480. package/src/CheckboxInput/CheckboxInput.tsx +38 -15
  481. package/src/CheckboxList/CheckboxList.doc.mjs +7 -0
  482. package/src/CheckboxList/CheckboxList.tsx +9 -0
  483. package/src/CodeBlock/CodeBlock.doc.mjs +9 -1
  484. package/src/CodeBlock/CodeBlock.tsx +41 -4
  485. package/src/CommandPalette/CommandPalette.tsx +1 -0
  486. package/src/CommandPalette/CommandPaletteItem.tsx +1 -0
  487. package/src/ComplexSelector/ComplexSelector.tsx +20 -5
  488. package/src/ContextMenu/ContextMenu.tsx +2 -2
  489. package/src/DateInput/MonthScroller.tsx +8 -2
  490. package/src/DateInput/PickerWheel.tsx +765 -0
  491. package/src/DateInput/TouchDateField.tsx +6 -32
  492. package/src/DateInput/Wheel.tsx +94 -150
  493. package/src/DateInput/useOwnScrollGesture.ts +25 -3
  494. package/src/DateInput/usePointerDragScroll.ts +1 -0
  495. package/src/DateInput/useScrollSettle.ts +2 -0
  496. package/src/DateInput/useWheelListbox.ts +112 -0
  497. package/src/DateInput/wheelOptions.ts +155 -0
  498. package/src/DateInput/wheelPhysics.ts +406 -0
  499. package/src/DateInput/wheelStrip.ts +341 -0
  500. package/src/DateTimeInput/TouchDateTimeField.tsx +8 -13
  501. package/src/Dialog/Dialog.tsx +12 -32
  502. package/src/Drawer/useDrawerDialogPresence.ts +2 -0
  503. package/src/DropdownMenu/useMenuOverflow.ts +3 -0
  504. package/src/Field/Field.tsx +2 -2
  505. package/src/FieldStatus/useFieldStatusAnnouncement.ts +1 -0
  506. package/src/FormLayout/FormLayout.doc.mjs +181 -46
  507. package/src/FormLayout/FormLayout.tsx +5 -1
  508. package/src/HoverCard/HoverCard.doc.mjs +10 -8
  509. package/src/HoverCard/HoverCard.tsx +58 -6
  510. package/src/HoverCard/useHoverCard.doc.mjs +178 -36
  511. package/src/HoverCard/useHoverCard.tsx +49 -54
  512. package/src/Icon/Icon.doc.mjs +51 -10
  513. package/src/Icon/Icon.tsx +15 -7
  514. package/src/IconButton/IconButton.doc.mjs +141 -21
  515. package/src/InfoTip/InfoTip.tsx +72 -16
  516. package/src/Item/useSwipeAction.ts +2 -0
  517. package/src/Layer/modalOutlet.ts +2 -0
  518. package/src/Layer/outsidePress.ts +1 -0
  519. package/src/Layer/useLayer.tsx +3 -1
  520. package/src/Layer/useLayerDismissal.ts +2 -0
  521. package/src/Layer/useTouchTrigger.ts +19 -6
  522. package/src/Layout/index.ts +1 -1
  523. package/src/Layout/layoutReset.ts +1 -1
  524. package/src/Layout/overlayPaddingReset.stylex.ts +73 -0
  525. package/src/Layout/padding.stylex.ts +9 -133
  526. package/src/Layout/paddingStyles.stylex.ts +87 -0
  527. package/src/Lightbox/Lightbox.tsx +20 -1
  528. package/src/Lightbox/useLightbox.doc.mjs +167 -0
  529. package/src/MobileNav/MobileNav.tsx +10 -31
  530. package/src/MultiSelector/MultiSelector.tsx +2 -7
  531. package/src/NumberInput/NumberInput.tsx +2 -7
  532. package/src/Outline/useOutlineFromDOM.ts +2 -0
  533. package/src/Outline/useScrollSpy.ts +2 -0
  534. package/src/OverflowList/OverflowList.tsx +2 -0
  535. package/src/Popover/Popover.tsx +4 -0
  536. package/src/Popover/usePopover.tsx +2 -2
  537. package/src/PowerSearch/PowerSearch.doc.mjs +60 -8
  538. package/src/PowerSearch/PowerSearch.tsx +620 -157
  539. package/src/PowerSearch/PowerSearchBottomSheet.tsx +2525 -0
  540. package/src/PowerSearch/PowerSearchEditPopover.tsx +65 -9
  541. package/src/PowerSearch/PowerSearchFilterEditor.tsx +2 -0
  542. package/src/PowerSearch/PowerSearchToken.tsx +2 -0
  543. package/src/PowerSearch/PowerSearchValueEditor.tsx +340 -59
  544. package/src/PowerSearch/formatFilterValue.ts +49 -27
  545. package/src/PowerSearch/formatTokenValue.ts +220 -0
  546. package/src/PowerSearch/index.ts +5 -1
  547. package/src/PowerSearch/powerSearchDateZone.ts +95 -0
  548. package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
  549. package/src/PowerSearch/types.ts +8 -1
  550. package/src/ProgressBar/ProgressBarTouch.ts +2 -0
  551. package/src/RadioList/RadioList.tsx +3 -2
  552. package/src/RadioList/RadioListItem.tsx +5 -3
  553. package/src/Resizable/Resizable.doc.mjs +5 -4
  554. package/src/Resizable/ResizeHandle.tsx +169 -109
  555. package/src/Resizable/createResizable.ts +831 -0
  556. package/src/Resizable/useResizable.ts +292 -623
  557. package/src/SegmentedControl/useSegmentedSelectionMotion.ts +6 -3
  558. package/src/SelectableCard/SelectableCard.tsx +39 -10
  559. package/src/SelectableCard/selectableCardInput.ts +30 -0
  560. package/src/Selector/Selector.tsx +7 -19
  561. package/src/SideNav/SideNav.tsx +41 -5
  562. package/src/Slider/Slider.tsx +20 -11
  563. package/src/Slider/sliderTouchController.ts +2 -2
  564. package/src/Spinner/Spinner.tsx +77 -63
  565. package/src/Stepper/Stepper.tsx +10 -27
  566. package/src/Switch/Switch.tsx +2 -6
  567. package/src/Switch/useSwitchTouch.ts +4 -4
  568. package/src/Table/BaseTable.tsx +46 -12
  569. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +2 -1
  570. package/src/Table/plugins/filtering/useTableFiltering.tsx +1 -0
  571. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +4 -0
  572. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +2 -0
  573. package/src/TextArea/TextArea.tsx +2 -7
  574. package/src/TextInput/TextInput.tsx +13 -17
  575. package/src/TimeInput/TimeInput.tsx +2 -0
  576. package/src/TimeInput/TouchTimeField.tsx +2 -0
  577. package/src/Timer/Timer.tsx +1 -0
  578. package/src/Timestamp/Timestamp.tsx +1 -1
  579. package/src/Timestamp/formatInstant.ts +1 -33
  580. package/src/Toast/Toast.doc.mjs +4 -3
  581. package/src/Toast/Toast.tsx +52 -32
  582. package/src/Toast/ToastViewport.tsx +123 -35
  583. package/src/Toast/types.ts +9 -3
  584. package/src/Toast/useToast.tsx +1 -0
  585. package/src/Tokenizer/Tokenizer.doc.mjs +10 -10
  586. package/src/Tokenizer/Tokenizer.tsx +61 -62
  587. package/src/Tokenizer/TokenizerBottomSheet.tsx +9 -11
  588. package/src/Tokenizer/index.ts +1 -0
  589. package/src/Tooltip/Tooltip.tsx +6 -42
  590. package/src/Tooltip/useTooltip.doc.mjs +24 -0
  591. package/src/Tooltip/useTooltip.tsx +237 -134
  592. package/src/Typeahead/BaseTypeahead.tsx +27 -17
  593. package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
  594. package/src/Typeahead/TypeaheadItem.tsx +2 -1
  595. package/src/animator/createAnimator.doc.mjs +153 -0
  596. package/src/animator/createAnimator.ts +324 -0
  597. package/src/gestures/GestureHost.ts +1 -1
  598. package/src/gestures/PressTracker.ts +4 -3
  599. package/src/gestures/README.md +10 -4
  600. package/src/hooks/ModalAnnounceProvider.tsx +1 -0
  601. package/src/hooks/actionGroupTracker.ts +20 -5
  602. package/src/hooks/index.ts +2 -0
  603. package/src/hooks/longPressDetector.ts +273 -0
  604. package/src/hooks/pressGroupContext.ts +21 -0
  605. package/src/hooks/rootScrollStyles.ts +247 -0
  606. package/src/hooks/scrollLockTouchGuard.ts +149 -0
  607. package/src/hooks/scrollbarGutter.ts +41 -26
  608. package/src/hooks/useActionGroupTracking.ts +224 -0
  609. package/src/hooks/useAnimator.doc.mjs +109 -0
  610. package/src/hooks/useAnimator.ts +67 -0
  611. package/src/hooks/useAnnounceRenderedText.ts +1 -0
  612. package/src/hooks/useAttachment.ts +1 -1
  613. package/src/hooks/useAutoMediaMode.ts +1 -0
  614. package/src/hooks/useBusyAnnouncement.ts +2 -0
  615. package/src/hooks/useDevWarning.ts +2 -0
  616. package/src/hooks/useFocusTrap.ts +2 -0
  617. package/src/hooks/useGridFocus.doc.mjs +6 -6
  618. package/src/hooks/useGridFocus.ts +10 -7
  619. package/src/hooks/useHotkeys.ts +2 -0
  620. package/src/hooks/useImageMode.ts +2 -0
  621. package/src/hooks/useInputStatusIcon.tsx +3 -2
  622. package/src/hooks/useKeyboardHint.tsx +1 -1
  623. package/src/hooks/useLongPress.doc.mjs +2 -2
  624. package/src/hooks/useLongPress.ts +32 -122
  625. package/src/hooks/useMenuHover.ts +1 -0
  626. package/src/hooks/useMenuPress.ts +2 -0
  627. package/src/hooks/useOverflow.ts +2 -1
  628. package/src/hooks/usePressFeedback.ts +1 -0
  629. package/src/hooks/useResolvedRequired.ts +3 -0
  630. package/src/hooks/useScrollLock.doc.mjs +51 -12
  631. package/src/hooks/useScrollLock.ts +53 -60
  632. package/src/hooks/useScrollableArea.ts +4 -0
  633. package/src/hooks/useStreamingText.ts +2 -0
  634. package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +43 -0
  635. package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
  636. package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
  637. package/src/i18n/generated-locales/en.generated.ts +41 -0
  638. package/src/i18n/generated-locales/pseudo.generated.ts +42 -0
  639. package/src/index.ts +13 -0
  640. package/src/internal/indicatorPress.stylex.ts +24 -0
  641. package/src/internal/selectable-card.ts +21 -0
  642. package/src/internal/sheetDraft.ts +2 -2
  643. package/src/motion/MEASUREMENTS.md +18 -0
  644. package/src/motion/README.md +10 -5
  645. package/src/motion/animatedLayout.ts +323 -60
  646. package/src/motion/animator.ts +66 -37
  647. package/src/motion/frameBlock.ts +16 -0
  648. package/src/motion/progress.ts +155 -0
  649. package/src/motion/reducedMotion.ts +3 -1
  650. package/src/motion/uikit/alert.ts +43 -0
  651. package/src/motion/uikit/index.ts +4 -3
  652. package/src/motion/uikit/picker.ts +116 -0
  653. package/src/privateAttributes/pressGroupItem.stylex.ts +44 -0
  654. package/src/privateAttributes/reducedMotion.stylex.ts +45 -0
  655. package/src/theme/Theme.tsx +37 -3
  656. package/src/theme/generateThemeRules.ts +14 -12
  657. package/src/theme/motionKnobs.ts +4 -3
  658. package/src/theme/themeMotion.ts +17 -2
  659. package/src/theme/tokens.stylex.ts +2 -0
  660. package/src/utils/dateParser.ts +16 -0
  661. package/src/utils/disabledInteraction.ts +23 -2
  662. package/src/utils/focusReturn.ts +38 -31
  663. package/src/utils/index.ts +1 -1
  664. package/src/utils/interactionModality.ts +4 -0
  665. package/src/utils/interactionOverlay.stylex.ts +3 -2
  666. package/src/utils/isFocusDetached.ts +34 -0
  667. package/src/utils/plainDate.ts +80 -4
  668. package/src/utils/pressFeedback.ts +24 -6
  669. package/src/utils/triggerFocus.ts +80 -0
  670. package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +0 -14
  671. package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts.map +0 -1
  672. package/dist/Calendar/getStandaloneShortWeekdayNames.js +0 -26
  673. package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts.map +0 -1
  674. package/dist/Layer/usePressPin.d.ts +0 -93
  675. package/dist/Layer/usePressPin.d.ts.map +0 -1
  676. package/dist/Layer/usePressPin.js +0 -363
  677. package/dist/internal/touch-sheet.d.ts +0 -21
  678. package/dist/internal/touch-sheet.d.ts.map +0 -1
  679. package/dist/internal/touch-sheet.js +0 -19
  680. package/src/Calendar/getStandaloneShortWeekdayNames.ts +0 -38
  681. package/src/Layer/usePressPin.ts +0 -510
  682. package/src/internal/touch-sheet.ts +0 -21
@@ -4,29 +4,34 @@
4
4
 
5
5
  /**
6
6
  * @file PowerSearchValueEditor.tsx
7
- * @input OperatorValue, FilterValue, onChange callback
7
+ * @input OperatorValue, FilterValue, onChange callback, and the presentation
8
+ * the editor renders in
8
9
  * @output Renders the appropriate editor for a filter value type
9
- * @position Sub-component; consumed by PowerSearchEditPopover
10
+ * @position Sub-component; consumed by PowerSearchEditPopover (popover
11
+ * presentation) and PowerSearchBottomSheet (sheet presentation, which
12
+ * renders the closed vocabularies as rows itself)
10
13
  *
11
14
  * SYNC: When modified, update:
12
15
  * - /packages/core/src/PowerSearch/index.ts
13
16
  */
14
- import React, { useCallback, useMemo, useRef } from 'react';
17
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
15
18
  // Lazy import to avoid circular deps — these are all from the same package
16
19
  import { TextInput } from "../TextInput/index.js";
17
20
  import { NumberInput } from "../NumberInput/index.js";
18
21
  import { resolveNumberInputCommit } from "../NumberInput/numberInputCommit.js";
19
22
  import { DateInput } from "../DateInput/index.js";
23
+ import { isoDateTimeToUnixSeconds, isoDateToUnixSeconds, resolveDateZone, unixSecondsToISODate, unixSecondsToISODateTime } from "./powerSearchDateZone.js";
24
+ import { HStack } from "../HStack/HStack.js";
20
25
  import { DateRangeInput } from "../DateRangeInput/index.js";
21
26
  import { resolveDateTimeRangePart } from "./resolveDateTimeRangePart.js";
22
27
  import { TimeInput } from "../TimeInput/index.js";
23
28
  import { Selector } from "../Selector/index.js";
24
- import { Tokenizer } from "../Tokenizer/index.js";
29
+ import { Tokenizer } from "../Tokenizer/Tokenizer.js";
25
30
  import { Typeahead } from "../Typeahead/index.js";
26
31
  import { useLocale } from "../i18n/index.js";
27
32
  import { registerEnglishFallback, useComponentTranslator } from "../i18n/useComponentTranslator.js";
28
33
  import english from "../i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js";
29
- import { jsx as _jsx } from "react/jsx-runtime";
34
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
35
  registerEnglishFallback(english);
31
36
  // =============================================================================
32
37
  // Helpers
@@ -49,8 +54,8 @@ function enumItemsToSearchableItems(values) {
49
54
  label: item.label
50
55
  }));
51
56
  }
52
- function dateRangePartToISO(part, nowSeconds) {
53
- return new Date(resolveDateTimeRangePart(part, nowSeconds) * 1000).toISOString().split('T')[0];
57
+ function dateRangePartToISO(part, nowSeconds, zone) {
58
+ return unixSecondsToISODate(resolveDateTimeRangePart(part, nowSeconds), zone);
54
59
  }
55
60
 
56
61
  // =============================================================================
@@ -63,9 +68,11 @@ function StringEditor({
63
68
  onChange,
64
69
  onEnter: _onEnter,
65
70
  maxMenuItems,
66
- isDisabled
71
+ isDisabled,
72
+ presentation
67
73
  }) {
68
74
  const t = useComponentTranslator();
75
+ const width = presentation === 'bottom-sheet' ? '100%' : undefined;
69
76
  const currentValue = filterValue?.type === 'string' ? filterValue.value : '';
70
77
 
71
78
  // When a searchSource is provided, render a typeahead instead of a plain
@@ -96,7 +103,8 @@ function StringEditor({
96
103
  },
97
104
  placeholder: t('@astryx.powersearch.valueEditor.searchPlaceholder'),
98
105
  debounceMs: 150,
99
- maxMenuItems: maxMenuItems
106
+ maxMenuItems: maxMenuItems,
107
+ width: width
100
108
  });
101
109
  }
102
110
  return /*#__PURE__*/_jsx(TextInput, {
@@ -110,7 +118,8 @@ function StringEditor({
110
118
  type: 'string',
111
119
  value
112
120
  });
113
- }
121
+ },
122
+ width: width
114
123
  });
115
124
  }
116
125
  function StringListEditor({
@@ -118,9 +127,12 @@ function StringListEditor({
118
127
  filterValue,
119
128
  onChange,
120
129
  maxMenuItems,
121
- isDisabled
130
+ isDisabled,
131
+ presentation,
132
+ fieldLabel
122
133
  }) {
123
134
  const t = useComponentTranslator();
135
+ const isSheet = presentation === 'bottom-sheet';
124
136
  const currentValue = useMemo(() => {
125
137
  if (filterValue?.type !== 'string_list') {
126
138
  return [];
@@ -144,8 +156,12 @@ function StringListEditor({
144
156
  // Enable creatable mode when no searchSource is provided (free-text tags)
145
157
  // or when isArbitraryStringAllowed is explicitly set (#1107).
146
158
  const hasCreate = operatorValue.isArbitraryStringAllowed || !operatorValue.searchSource;
159
+
160
+ // In the sheet presentation the list value edits through the Tokenizer's
161
+ // own sheet, titled with the field's label; a popover menu inside a sheet
162
+ // would stack a second anchored layer on a surface the person is already in.
147
163
  return /*#__PURE__*/_jsx(Tokenizer, {
148
- label: t('@astryx.powersearch.valueEditor.values'),
164
+ label: isSheet && fieldLabel != null ? fieldLabel : t('@astryx.powersearch.valueEditor.values'),
149
165
  isLabelHidden: true,
150
166
  isDisabled: isDisabled,
151
167
  searchSource: source,
@@ -159,7 +175,9 @@ function StringListEditor({
159
175
  placeholder: t('@astryx.powersearch.valueEditor.addValuesPlaceholder'),
160
176
  debounceMs: operatorValue.searchSource ? 150 : 0,
161
177
  hasCreate: hasCreate,
162
- maxMenuItems: maxMenuItems
178
+ maxMenuItems: maxMenuItems,
179
+ width: isSheet ? '100%' : undefined,
180
+ presentation: isSheet ? 'bottom-sheet' : 'popover'
163
181
  });
164
182
  }
165
183
  function useNumberEditorHandlers({
@@ -168,7 +186,9 @@ function useNumberEditorHandlers({
168
186
  max,
169
187
  isIntegerOnly,
170
188
  onChange,
171
- onEnter
189
+ onEnter,
190
+ onUnstage,
191
+ stagesAsTyped
172
192
  }) {
173
193
  const locale = useLocale();
174
194
  const pendingDecisionRef = useRef(null);
@@ -186,14 +206,23 @@ function useNumberEditorHandlers({
186
206
  pendingDecisionRef.current = null;
187
207
  }, []);
188
208
  const handleInput = useCallback(event => {
189
- pendingDecisionRef.current = resolveNumberInputCommit(event.currentTarget.value, {
209
+ const decision = resolveNumberInputCommit(event.currentTarget.value, {
190
210
  min,
191
211
  max,
192
212
  isIntegerOnly,
193
213
  locale,
194
214
  hasClear: false
195
215
  });
196
- }, [isIntegerOnly, locale, max, min]);
216
+ pendingDecisionRef.current = decision;
217
+ if (stagesAsTyped) {
218
+ if (decision.type === 'commit') {
219
+ onChange(toFilterValue(decision.value));
220
+ } else {
221
+ // Cleared, or not a number: nothing stands to confirm.
222
+ onUnstage?.();
223
+ }
224
+ }
225
+ }, [isIntegerOnly, locale, max, min, onChange, onUnstage, stagesAsTyped, toFilterValue]);
197
226
  const handleEnter = useCallback(() => {
198
227
  const decision = pendingDecisionRef.current;
199
228
  pendingDecisionRef.current = null;
@@ -221,7 +250,9 @@ function IntegerEditor({
221
250
  filterValue,
222
251
  onChange,
223
252
  onEnter,
224
- isDisabled
253
+ onUnstage,
254
+ isDisabled,
255
+ presentation
225
256
  }) {
226
257
  const t = useComponentTranslator();
227
258
  const currentValue = filterValue?.type === 'integer' ? filterValue.value : undefined;
@@ -231,7 +262,9 @@ function IntegerEditor({
231
262
  max: operatorValue.maxValue,
232
263
  isIntegerOnly: true,
233
264
  onChange,
234
- onEnter
265
+ onEnter,
266
+ onUnstage,
267
+ stagesAsTyped: presentation === 'bottom-sheet'
235
268
  });
236
269
  return /*#__PURE__*/_jsx(NumberInput, {
237
270
  label: t('@astryx.powersearch.valueEditor.value'),
@@ -247,7 +280,8 @@ function IntegerEditor({
247
280
  max: operatorValue.maxValue,
248
281
  units: operatorValue.units,
249
282
  isIntegerOnly: true,
250
- placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder')
283
+ placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder'),
284
+ width: presentation === 'bottom-sheet' ? '100%' : undefined
251
285
  });
252
286
  }
253
287
  function FloatEditor({
@@ -255,7 +289,9 @@ function FloatEditor({
255
289
  filterValue,
256
290
  onChange,
257
291
  onEnter,
258
- isDisabled
292
+ onUnstage,
293
+ isDisabled,
294
+ presentation
259
295
  }) {
260
296
  const t = useComponentTranslator();
261
297
  const currentValue = filterValue?.type === 'float' ? filterValue.value : undefined;
@@ -265,7 +301,9 @@ function FloatEditor({
265
301
  max: operatorValue.maxValue,
266
302
  isIntegerOnly: false,
267
303
  onChange,
268
- onEnter
304
+ onEnter,
305
+ onUnstage,
306
+ stagesAsTyped: presentation === 'bottom-sheet'
269
307
  });
270
308
  return /*#__PURE__*/_jsx(NumberInput, {
271
309
  label: t('@astryx.powersearch.valueEditor.value'),
@@ -280,14 +318,16 @@ function FloatEditor({
280
318
  min: operatorValue.minValue,
281
319
  max: operatorValue.maxValue,
282
320
  units: operatorValue.units,
283
- placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder')
321
+ placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder'),
322
+ width: presentation === 'bottom-sheet' ? '100%' : undefined
284
323
  });
285
324
  }
286
325
  function TimeEditor({
287
326
  operatorValue,
288
327
  filterValue,
289
328
  onChange,
290
- isDisabled
329
+ isDisabled,
330
+ presentation
291
331
  }) {
292
332
  const t = useComponentTranslator();
293
333
  const currentValue = filterValue?.type === 'time' ? filterValue.value : undefined;
@@ -305,39 +345,173 @@ function TimeEditor({
305
345
  }
306
346
  },
307
347
  min: operatorValue.minValue,
308
- max: operatorValue.maxValue
348
+ max: operatorValue.maxValue,
349
+ width: presentation === 'bottom-sheet' ? '100%' : undefined
350
+ });
351
+ }
352
+
353
+ /**
354
+ * A value with a time of day: its wall-clock time in `zone`, read and written
355
+ * as one instant through a date picker beside a time field.
356
+ */
357
+ function DateTimeEditor({
358
+ label,
359
+ isDisabled,
360
+ presentation,
361
+ unixSeconds,
362
+ zone,
363
+ onChange
364
+ }) {
365
+ const t = useComponentTranslator();
366
+ const [datePart, timePart] = useMemo(() => {
367
+ if (unixSeconds == null) {
368
+ return [undefined, undefined];
369
+ }
370
+ const [date, time] = unixSecondsToISODateTime(unixSeconds, zone).split('T');
371
+ return [date, time];
372
+ }, [unixSeconds, zone]);
373
+ // A part picked first waits for the other. The editor writes the instant
374
+ // once both parts exist.
375
+ const [pendingDate, setPendingDate] = useState();
376
+ const [pendingTime, setPendingTime] = useState();
377
+ const date = datePart ?? pendingDate;
378
+ const time = timePart ?? pendingTime;
379
+ const commit = (nextDate, nextTime) => {
380
+ if (nextDate == null || nextTime == null) {
381
+ return;
382
+ }
383
+ onChange({
384
+ type: 'date_absolute',
385
+ unixSeconds: isoDateTimeToUnixSeconds(`${nextDate}T${nextTime}`, zone)
386
+ });
387
+ };
388
+ const width = presentation === 'bottom-sheet' ? '100%' : undefined;
389
+ // A nested sub-filter row keeps its selectors' widths, so the pair wraps
390
+ // where the value cell is narrower than the two inputs.
391
+ return /*#__PURE__*/_jsxs(HStack, {
392
+ gap: 2,
393
+ wrap: "wrap",
394
+ children: [/*#__PURE__*/_jsx(DateInput, {
395
+ label: label,
396
+ isLabelHidden: true,
397
+ isDisabled: isDisabled,
398
+ value: date,
399
+ onChange: value => {
400
+ setPendingDate(value);
401
+ commit(value, time);
402
+ },
403
+ width: width
404
+ }), /*#__PURE__*/_jsx(TimeInput, {
405
+ label: t('@astryx.powersearch.valueEditor.time'),
406
+ isLabelHidden: true,
407
+ isDisabled: isDisabled,
408
+ value: time,
409
+ onChange: value => {
410
+ setPendingTime(value);
411
+ commit(date, value);
412
+ },
413
+ width: width
414
+ })]
309
415
  });
310
416
  }
311
417
  function DateAbsoluteEditor({
418
+ operatorValue,
312
419
  filterValue,
313
420
  onChange,
314
- isDisabled
421
+ isDisabled,
422
+ presentation,
423
+ timezoneID
315
424
  }) {
316
425
  const t = useComponentTranslator();
317
- // Convert unixSeconds to ISO date string for the date input
318
- const currentValue = useMemo(() => {
319
- if (filterValue?.type !== 'date_absolute') {
320
- return undefined;
321
- }
322
- const date = new Date(filterValue.unixSeconds * 1000);
323
- return date.toISOString().split('T')[0];
324
- }, [filterValue]);
426
+ const label = t('@astryx.powersearch.valueEditor.date');
427
+ const unixSeconds = filterValue?.type === 'date_absolute' ? filterValue.unixSeconds : undefined;
428
+ if (operatorValue.isDateOnly === false) {
429
+ return /*#__PURE__*/_jsx(DateTimeEditor, {
430
+ label: label,
431
+ isDisabled: isDisabled,
432
+ presentation: presentation,
433
+ unixSeconds: unixSeconds,
434
+ zone: resolveDateZone(timezoneID, false),
435
+ onChange: onChange
436
+ });
437
+ }
438
+
439
+ // A calendar day edits in the one zone the token and the label read it in.
440
+ const zone = resolveDateZone(timezoneID, true);
325
441
  return /*#__PURE__*/_jsx(DateInput, {
326
- label: t('@astryx.powersearch.valueEditor.date'),
442
+ label: label,
327
443
  isLabelHidden: true,
328
444
  isDisabled: isDisabled,
329
- value: currentValue,
445
+ value: unixSeconds == null ? undefined : unixSecondsToISODate(unixSeconds, zone),
330
446
  onChange: value => {
331
447
  if (value != null) {
332
- const unixSeconds = Math.floor(new Date(value).getTime() / 1000);
333
448
  onChange({
334
449
  type: 'date_absolute',
335
- unixSeconds
450
+ unixSeconds: isoDateToUnixSeconds(value, zone)
336
451
  });
337
452
  }
338
- }
453
+ },
454
+ width: presentation === 'bottom-sheet' ? '100%' : undefined
339
455
  });
340
456
  }
457
+ const RELATIVE_DATE_UNITS = [{
458
+ unit: 'day',
459
+ plural: 'days',
460
+ amounts: [1, 3, 7, 14, 30],
461
+ ago: '@astryx.powersearch.sheet.relativeDaysAgo',
462
+ fromNow: '@astryx.powersearch.sheet.relativeDaysFromNow'
463
+ }, {
464
+ unit: 'week',
465
+ plural: 'weeks',
466
+ amounts: [1, 2, 4],
467
+ ago: '@astryx.powersearch.sheet.relativeWeeksAgo',
468
+ fromNow: '@astryx.powersearch.sheet.relativeWeeksFromNow'
469
+ }, {
470
+ unit: 'month',
471
+ plural: 'months',
472
+ amounts: [1, 3, 6, 12],
473
+ ago: '@astryx.powersearch.sheet.relativeMonthsAgo',
474
+ fromNow: '@astryx.powersearch.sheet.relativeMonthsFromNow'
475
+ }];
476
+
477
+ /**
478
+ * The relative-date choices an operator offers, in display order. Shared by
479
+ * the popover's Selector and the sheet presentation's rows so both list the
480
+ * same values. With `t` the labels resolve through the catalog's ICU plural
481
+ * messages (the sheet presentation's rows); without it they are the popover
482
+ * editor's own literals. In English the two read identically.
483
+ */
484
+ export function buildRelativeDateOptions(operatorValue, t) {
485
+ const result = [];
486
+ for (const {
487
+ unit,
488
+ plural,
489
+ amounts,
490
+ ago,
491
+ fromNow
492
+ } of RELATIVE_DATE_UNITS) {
493
+ for (const amount of amounts) {
494
+ const unitWord = amount === 1 ? unit : plural;
495
+ if (operatorValue.isPastAllowed !== false) {
496
+ result.push({
497
+ value: `${amount}${unit[0]}_ago`,
498
+ label: t ? t(ago, {
499
+ count: amount
500
+ }) : `${amount} ${unitWord} ago`
501
+ });
502
+ }
503
+ if (operatorValue.isFutureAllowed !== false) {
504
+ result.push({
505
+ value: `${amount}${unit[0]}_from_now`,
506
+ label: t ? t(fromNow, {
507
+ count: amount
508
+ }) : `${amount} ${unitWord} from now`
509
+ });
510
+ }
511
+ }
512
+ }
513
+ return result;
514
+ }
341
515
  function DateRelativeEditor({
342
516
  operatorValue,
343
517
  filterValue,
@@ -346,40 +520,18 @@ function DateRelativeEditor({
346
520
  }) {
347
521
  const t = useComponentTranslator();
348
522
  const currentValue = filterValue?.type === 'date_relative' ? filterValue.value : undefined;
349
- const options = useMemo(() => {
350
- const result = [];
351
- const units = [{
352
- unit: 'day',
353
- plural: 'days'
354
- }, {
355
- unit: 'week',
356
- plural: 'weeks'
357
- }, {
358
- unit: 'month',
359
- plural: 'months'
360
- }];
361
- for (const {
362
- unit,
363
- plural
364
- } of units) {
365
- const amounts = unit === 'day' ? [1, 3, 7, 14, 30] : unit === 'week' ? [1, 2, 4] : [1, 3, 6, 12];
366
- for (const amount of amounts) {
367
- if (operatorValue.isPastAllowed !== false) {
368
- result.push({
369
- value: `${amount}${unit[0]}_ago`,
370
- label: `${amount} ${amount === 1 ? unit : plural} ago`
371
- });
372
- }
373
- if (operatorValue.isFutureAllowed !== false) {
374
- result.push({
375
- value: `${amount}${unit[0]}_from_now`,
376
- label: `${amount} ${amount === 1 ? unit : plural} from now`
377
- });
378
- }
379
- }
380
- }
381
- return result;
382
- }, [operatorValue.isPastAllowed, operatorValue.isFutureAllowed]);
523
+
524
+ // The choices depend on the two flags only; a config that rebuilds its
525
+ // operator objects per render keeps the same memoized list.
526
+ const {
527
+ isPastAllowed,
528
+ isFutureAllowed
529
+ } = operatorValue;
530
+ const options = useMemo(() => buildRelativeDateOptions({
531
+ type: 'date_relative',
532
+ isPastAllowed,
533
+ isFutureAllowed
534
+ }), [isPastAllowed, isFutureAllowed]);
383
535
  return /*#__PURE__*/_jsx(Selector, {
384
536
  label: t('@astryx.powersearch.valueEditor.relativeDate'),
385
537
  isLabelHidden: true,
@@ -397,9 +549,13 @@ function DateRelativeEditor({
397
549
  function DateRangeEditor({
398
550
  filterValue,
399
551
  onChange,
400
- isDisabled
552
+ isDisabled,
553
+ presentation,
554
+ timezoneID
401
555
  }) {
402
556
  const t = useComponentTranslator();
557
+ // A range part is a calendar day, read and written as a date-only value is.
558
+ const zone = resolveDateZone(timezoneID, true);
403
559
  const currentValue = useMemo(() => {
404
560
  if (filterValue?.type !== 'date_range') {
405
561
  return null;
@@ -410,10 +566,10 @@ function DateRangeEditor({
410
566
  } = filterValue.value;
411
567
  const nowSeconds = Date.now() / 1000;
412
568
  return {
413
- start: dateRangePartToISO(start, nowSeconds),
414
- end: dateRangePartToISO(end, nowSeconds)
569
+ start: dateRangePartToISO(start, nowSeconds, zone),
570
+ end: dateRangePartToISO(end, nowSeconds, zone)
415
571
  };
416
- }, [filterValue]);
572
+ }, [filterValue, zone]);
417
573
  const handleChange = useCallback(range => {
418
574
  if (range == null) {
419
575
  return;
@@ -423,15 +579,15 @@ function DateRangeEditor({
423
579
  value: {
424
580
  start: {
425
581
  type: 'ABSOLUTE',
426
- unixSeconds: Date.parse(`${range.start}T00:00:00Z`) / 1000
582
+ unixSeconds: isoDateToUnixSeconds(range.start, zone)
427
583
  },
428
584
  end: {
429
585
  type: 'ABSOLUTE',
430
- unixSeconds: Date.parse(`${range.end}T00:00:00Z`) / 1000
586
+ unixSeconds: isoDateToUnixSeconds(range.end, zone)
431
587
  }
432
588
  }
433
589
  });
434
- }, [onChange]);
590
+ }, [onChange, zone]);
435
591
  const handleKeyDown = useCallback(event => {
436
592
  // DateRangeInput owns an inner popover. Its Enter activation must not reach
437
593
  // the parent PowerSearch shortcut before the focused button's click runs.
@@ -448,6 +604,10 @@ function DateRangeEditor({
448
604
  value: currentValue,
449
605
  onChange: handleChange,
450
606
  hasClear: false
607
+ // A phone-wide sheet fits one month; the popover keeps the default.
608
+ ,
609
+ numberOfMonths: presentation === 'bottom-sheet' ? 1 : undefined,
610
+ width: presentation === 'bottom-sheet' ? '100%' : undefined
451
611
  })
452
612
  });
453
613
  }
@@ -517,7 +677,8 @@ function EnumListEditor({
517
677
  // all of them instead of BaseTypeahead's 10-suggestion default, which
518
678
  // would silently drop valid choices with no way to reach them.
519
679
  ,
520
- maxMenuItems: items.length
680
+ maxMenuItems: items.length,
681
+ presentation: "popover"
521
682
  });
522
683
  }
523
684
  function EntityListEditor({
@@ -525,9 +686,12 @@ function EntityListEditor({
525
686
  filterValue,
526
687
  onChange,
527
688
  maxMenuItems,
528
- isDisabled
689
+ isDisabled,
690
+ presentation,
691
+ fieldLabel
529
692
  }) {
530
693
  const t = useComponentTranslator();
694
+ const isSheet = presentation === 'bottom-sheet';
531
695
  const source = useMemo(() => {
532
696
  if (operatorValue.searchSource) {
533
697
  return operatorValue.searchSource;
@@ -551,8 +715,11 @@ function EntityListEditor({
551
715
  } : undefined
552
716
  }));
553
717
  }, [filterValue]);
718
+
719
+ // Sheet presentation: the Tokenizer's own sheet, titled with the field
720
+ // label, as for string_list.
554
721
  return /*#__PURE__*/_jsx(Tokenizer, {
555
- label: t('@astryx.powersearch.valueEditor.entities'),
722
+ label: isSheet && fieldLabel != null ? fieldLabel : t('@astryx.powersearch.valueEditor.entities'),
556
723
  isLabelHidden: true,
557
724
  isDisabled: isDisabled,
558
725
  searchSource: source,
@@ -576,7 +743,9 @@ function EntityListEditor({
576
743
  renderItem: operatorValue.renderItem,
577
744
  placeholder: t('@astryx.powersearch.valueEditor.searchPlaceholder'),
578
745
  debounceMs: operatorValue.searchSource ? 150 : 0,
579
- maxMenuItems: maxMenuItems
746
+ maxMenuItems: maxMenuItems,
747
+ width: isSheet ? '100%' : undefined,
748
+ presentation: isSheet ? 'bottom-sheet' : 'popover'
580
749
  });
581
750
  }
582
751
  function CustomEditor({
@@ -613,7 +782,11 @@ export function PowerSearchValueEditor({
613
782
  onChange,
614
783
  onEnter,
615
784
  maxMenuItems,
616
- isDisabled
785
+ isDisabled,
786
+ onUnstage,
787
+ presentation = 'popover',
788
+ fieldLabel,
789
+ timezoneID
617
790
  }) {
618
791
  switch (operatorValue.type) {
619
792
  case 'empty':
@@ -621,6 +794,7 @@ export function PowerSearchValueEditor({
621
794
  case 'string':
622
795
  return /*#__PURE__*/_jsx(StringEditor, {
623
796
  isDisabled: isDisabled,
797
+ presentation: presentation,
624
798
  operatorValue: operatorValue,
625
799
  filterValue: filterValue,
626
800
  onChange: onChange,
@@ -630,6 +804,8 @@ export function PowerSearchValueEditor({
630
804
  case 'string_list':
631
805
  return /*#__PURE__*/_jsx(StringListEditor, {
632
806
  isDisabled: isDisabled,
807
+ presentation: presentation,
808
+ fieldLabel: fieldLabel,
633
809
  operatorValue: operatorValue,
634
810
  filterValue: filterValue,
635
811
  onChange: onChange,
@@ -638,6 +814,8 @@ export function PowerSearchValueEditor({
638
814
  case 'integer':
639
815
  return /*#__PURE__*/_jsx(IntegerEditor, {
640
816
  isDisabled: isDisabled,
817
+ presentation: presentation,
818
+ onUnstage: onUnstage,
641
819
  operatorValue: operatorValue,
642
820
  filterValue: filterValue,
643
821
  onChange: onChange,
@@ -646,6 +824,8 @@ export function PowerSearchValueEditor({
646
824
  case 'float':
647
825
  return /*#__PURE__*/_jsx(FloatEditor, {
648
826
  isDisabled: isDisabled,
827
+ presentation: presentation,
828
+ onUnstage: onUnstage,
649
829
  operatorValue: operatorValue,
650
830
  filterValue: filterValue,
651
831
  onChange: onChange,
@@ -654,6 +834,7 @@ export function PowerSearchValueEditor({
654
834
  case 'time':
655
835
  return /*#__PURE__*/_jsx(TimeEditor, {
656
836
  isDisabled: isDisabled,
837
+ presentation: presentation,
657
838
  operatorValue: operatorValue,
658
839
  filterValue: filterValue,
659
840
  onChange: onChange
@@ -661,9 +842,11 @@ export function PowerSearchValueEditor({
661
842
  case 'date_absolute':
662
843
  return /*#__PURE__*/_jsx(DateAbsoluteEditor, {
663
844
  isDisabled: isDisabled,
845
+ presentation: presentation,
664
846
  operatorValue: operatorValue,
665
847
  filterValue: filterValue,
666
- onChange: onChange
848
+ onChange: onChange,
849
+ timezoneID: timezoneID
667
850
  });
668
851
  case 'date_relative':
669
852
  return /*#__PURE__*/_jsx(DateRelativeEditor, {
@@ -675,9 +858,11 @@ export function PowerSearchValueEditor({
675
858
  case 'date_range':
676
859
  return /*#__PURE__*/_jsx(DateRangeEditor, {
677
860
  isDisabled: isDisabled,
861
+ presentation: presentation,
678
862
  operatorValue: operatorValue,
679
863
  filterValue: filterValue,
680
- onChange: onChange
864
+ onChange: onChange,
865
+ timezoneID: timezoneID
681
866
  });
682
867
  case 'enum':
683
868
  return /*#__PURE__*/_jsx(EnumEditor, {
@@ -696,6 +881,8 @@ export function PowerSearchValueEditor({
696
881
  case 'entity_list':
697
882
  return /*#__PURE__*/_jsx(EntityListEditor, {
698
883
  isDisabled: isDisabled,
884
+ presentation: presentation,
885
+ fieldLabel: fieldLabel,
699
886
  operatorValue: operatorValue,
700
887
  filterValue: filterValue,
701
888
  onChange: onChange,
@@ -10,14 +10,21 @@
10
10
  import type { OperatorValue, FilterValue } from './types.js';
11
11
  import type { InternalConfig } from './useInternalConfig.js';
12
12
  import type { Locale, TranslatorFn } from '../i18n/index.js';
13
- export declare function formatDateAbsolute(unixSeconds: number, locale: Locale, timezoneID?: string): string;
14
13
  /**
15
- * Compact date-only rendering (no time-of-day) for the token pill's inline
16
- * value display, which has less room than the editor's full summary. Kept
17
- * separate from {@link formatDateAbsolute} rather than reusing it with
18
- * different options threaded through a param, since the two callers want
19
- * genuinely different shapes, not a parameterization of the same one.
14
+ * A number in the provider locale's digits, decimal mark, and — unless the
15
+ * options say otherwise — grouping. The shared number helper for
16
+ * PowerSearch's own readings of a value — this module owns the raw `Intl`
17
+ * access.
20
18
  */
21
- export declare function formatDateAbsoluteCompact(unixSeconds: number, locale: Locale): string;
19
+ export declare function formatSharedNumber(value: number, locale: Locale, options?: Pick<Intl.NumberFormatOptions, 'useGrouping' | 'maximumFractionDigits'>): string;
20
+ /**
21
+ * The one reading of a calendar-day `date_absolute` value: its day in the
22
+ * zone `resolveDateZone` names. The token text and the accessible label share
23
+ * it; the editors read the same zone through `resolveDateZone`, so a value
24
+ * never reads as two days in one field. A value whose operator sets
25
+ * `isDateOnly: false` is an instant: its date and time in `timezoneID`,
26
+ * else the viewer's zone, the time its editor reads and writes.
27
+ */
28
+ export declare function formatDateAbsolute(unixSeconds: number, locale: Locale, timezoneID: string | undefined, isDateOnly?: boolean): string;
22
29
  export declare function formatFilterValue(_config: InternalConfig, operatorValue: OperatorValue, filterValue: FilterValue, maxLength: number, t: TranslatorFn, locale: Locale, timezoneID?: string): string;
23
30
  //# sourceMappingURL=formatFilterValue.d.ts.map