@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.
- package/dist/AlertDialog/AlertDialog.d.ts +4 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +46 -6
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +11 -3
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +1 -0
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +25 -4
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +5 -0
- package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
- package/dist/BottomSheet/useMobileKeyboard.js +6 -0
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +12 -1
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +17 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +18 -22
- package/dist/Calendar/getWeekdayHeaderNames.d.ts +16 -0
- package/dist/Calendar/getWeekdayHeaderNames.d.ts.map +1 -0
- package/dist/Calendar/getWeekdayHeaderNames.js +70 -0
- package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarDays.js +2 -10
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.d.ts → weekdayHeaderNames.generated.d.ts} +14 -14
- package/dist/Calendar/weekdayHeaderNames.generated.d.ts.map +1 -0
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.js → weekdayHeaderNames.generated.js} +12 -12
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +2 -0
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +6 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +2 -1
- package/dist/Chat/useChatDictation.d.ts.map +1 -1
- package/dist/Chat/useChatDictation.js +2 -0
- package/dist/Chat/useChatNewMessages.js +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +2 -0
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +3 -0
- package/dist/Chat/useTriggerMenu.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +17 -12
- package/dist/CheckboxList/CheckboxList.d.ts +8 -1
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +2 -0
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +28 -11
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +2 -0
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +2 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +14 -4
- package/dist/ContextMenu/ContextMenu.js +2 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +5 -2
- package/dist/DateInput/PickerWheel.d.ts +19 -0
- package/dist/DateInput/PickerWheel.d.ts.map +1 -0
- package/dist/DateInput/PickerWheel.js +625 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +9 -30
- package/dist/DateInput/Wheel.d.ts +18 -37
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +84 -113
- package/dist/DateInput/useOwnScrollGesture.d.ts +10 -0
- package/dist/DateInput/useOwnScrollGesture.d.ts.map +1 -1
- package/dist/DateInput/useOwnScrollGesture.js +16 -3
- package/dist/DateInput/usePointerDragScroll.d.ts.map +1 -1
- package/dist/DateInput/usePointerDragScroll.js +2 -0
- package/dist/DateInput/useScrollSettle.d.ts.map +1 -1
- package/dist/DateInput/useScrollSettle.js +3 -0
- package/dist/DateInput/useWheelListbox.d.ts +59 -0
- package/dist/DateInput/useWheelListbox.d.ts.map +1 -0
- package/dist/DateInput/useWheelListbox.js +88 -0
- package/dist/DateInput/wheelOptions.d.ts +74 -0
- package/dist/DateInput/wheelOptions.d.ts.map +1 -0
- package/dist/DateInput/wheelOptions.js +98 -0
- package/dist/DateInput/wheelPhysics.d.ts +127 -0
- package/dist/DateInput/wheelPhysics.d.ts.map +1 -0
- package/dist/DateInput/wheelPhysics.js +341 -0
- package/dist/DateInput/wheelStrip.d.ts +92 -0
- package/dist/DateInput/wheelStrip.d.ts.map +1 -0
- package/dist/DateInput/wheelStrip.js +258 -0
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +10 -10
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -32
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +3 -0
- package/dist/DropdownMenu/useMenuOverflow.d.ts.map +1 -1
- package/dist/DropdownMenu/useMenuOverflow.js +5 -0
- package/dist/Field/Field.js +2 -2
- package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts.map +1 -1
- package/dist/FieldStatus/useFieldStatusAnnouncement.js +1 -0
- package/dist/FormLayout/FormLayout.d.ts +5 -1
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.d.ts +6 -4
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +48 -3
- package/dist/HoverCard/useHoverCard.d.ts +5 -4
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +20 -33
- package/dist/Icon/Icon.d.ts +5 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +5 -2
- package/dist/InfoTip/InfoTip.d.ts +5 -5
- package/dist/InfoTip/InfoTip.d.ts.map +1 -1
- package/dist/InfoTip/InfoTip.js +58 -19
- package/dist/Item/useSwipeAction.d.ts.map +1 -1
- package/dist/Item/useSwipeAction.js +3 -0
- package/dist/Layer/modalOutlet.d.ts.map +1 -1
- package/dist/Layer/modalOutlet.js +2 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -1
- package/dist/Layer/outsidePress.js +1 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +4 -1
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
- package/dist/Layer/useLayerDismissal.js +3 -0
- package/dist/Layer/useTouchTrigger.d.ts +13 -7
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +20 -6
- package/dist/Layout/index.d.ts +1 -1
- package/dist/Layout/index.d.ts.map +1 -1
- package/dist/Layout/index.js +1 -1
- package/dist/Layout/layoutReset.js +1 -1
- package/dist/Layout/overlayPaddingReset.stylex.d.ts +68 -0
- package/dist/Layout/overlayPaddingReset.stylex.d.ts.map +1 -0
- package/dist/Layout/overlayPaddingReset.stylex.js +72 -0
- package/dist/Layout/padding.stylex.d.ts +5 -129
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +9 -143
- package/dist/Layout/paddingStyles.stylex.d.ts +83 -0
- package/dist/Layout/paddingStyles.stylex.d.ts.map +1 -0
- package/dist/Layout/paddingStyles.stylex.js +99 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +20 -1
- package/dist/MobileNav/MobileNav.d.ts +3 -2
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +10 -26
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +2 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +2 -1
- package/dist/Outline/useOutlineFromDOM.d.ts.map +1 -1
- package/dist/Outline/useOutlineFromDOM.js +3 -0
- package/dist/Outline/useScrollSpy.d.ts.map +1 -1
- package/dist/Outline/useScrollSpy.js +3 -0
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -0
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +6 -0
- package/dist/Popover/usePopover.js +2 -2
- package/dist/PowerSearch/PowerSearch.d.ts +39 -4
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +441 -134
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +102 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.js +1919 -0
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +35 -2
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +43 -10
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.js +4 -2
- package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +3 -2
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +273 -86
- package/dist/PowerSearch/formatFilterValue.d.ts +14 -7
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +31 -23
- package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
- package/dist/PowerSearch/formatTokenValue.js +161 -0
- package/dist/PowerSearch/index.d.ts +1 -1
- package/dist/PowerSearch/index.d.ts.map +1 -1
- package/dist/PowerSearch/powerSearchDateZone.d.ts +25 -0
- package/dist/PowerSearch/powerSearchDateZone.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchDateZone.js +57 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
- package/dist/PowerSearch/types.d.ts +8 -1
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.js +2 -0
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +3 -2
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +5 -3
- package/dist/Resizable/ResizeHandle.d.ts +2 -1
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +101 -77
- package/dist/Resizable/createResizable.d.ts +145 -0
- package/dist/Resizable/createResizable.d.ts.map +1 -0
- package/dist/Resizable/createResizable.js +575 -0
- package/dist/Resizable/useResizable.d.ts +3 -3
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +252 -459
- package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -1
- package/dist/SegmentedControl/useSegmentedSelectionMotion.js +3 -3
- package/dist/SelectableCard/SelectableCard.d.ts +2 -0
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +36 -11
- package/dist/SelectableCard/selectableCardInput.d.ts +12 -0
- package/dist/SelectableCard/selectableCardInput.d.ts.map +1 -0
- package/dist/SelectableCard/selectableCardInput.js +20 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +7 -9
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +36 -5
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +16 -11
- package/dist/Slider/sliderTouchController.js +2 -2
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +60 -58
- package/dist/Stepper/Stepper.d.ts.map +1 -1
- package/dist/Stepper/Stepper.js +10 -15
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +4 -10
- package/dist/Switch/useSwitchTouch.js +4 -4
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +29 -8
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +3 -1
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +2 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +4 -0
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -0
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +2 -1
- package/dist/TextInput/TextInput.d.ts +2 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +12 -8
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +2 -0
- package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
- package/dist/TimeInput/TouchTimeField.js +2 -0
- package/dist/Timer/Timer.d.ts.map +1 -1
- package/dist/Timer/Timer.js +2 -0
- package/dist/Timestamp/Timestamp.js +1 -1
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +1 -23
- package/dist/Toast/Toast.d.ts +11 -1
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -15
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +97 -34
- package/dist/Toast/types.d.ts +9 -3
- package/dist/Toast/types.d.ts.map +1 -1
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +1 -0
- package/dist/Tokenizer/Tokenizer.d.ts +44 -46
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +20 -21
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +4 -6
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +2 -23
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +5 -29
- package/dist/Tooltip/useTooltip.d.ts +23 -30
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +194 -108
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +27 -18
- package/dist/Typeahead/TypeaheadItem.d.ts +2 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/animator/createAnimator.d.ts +98 -0
- package/dist/animator/createAnimator.d.ts.map +1 -0
- package/dist/animator/createAnimator.js +259 -0
- package/dist/astryx.css +41 -7
- package/dist/gestures/GestureHost.d.ts +16 -1
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +1 -1
- package/dist/gestures/PressTracker.d.ts.map +1 -1
- package/dist/gestures/PressTracker.js +4 -3
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
- package/dist/hooks/ModalAnnounceProvider.js +1 -0
- package/dist/hooks/actionGroupTracker.d.ts +4 -1
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +13 -3
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/longPressDetector.d.ts +66 -0
- package/dist/hooks/longPressDetector.d.ts.map +1 -0
- package/dist/hooks/longPressDetector.js +200 -0
- package/dist/hooks/pressGroupContext.d.ts +6 -0
- package/dist/hooks/pressGroupContext.d.ts.map +1 -0
- package/dist/hooks/pressGroupContext.js +20 -0
- package/dist/hooks/rootScrollStyles.d.ts +48 -0
- package/dist/hooks/rootScrollStyles.d.ts.map +1 -0
- package/dist/hooks/rootScrollStyles.js +207 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts +13 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts.map +1 -0
- package/dist/hooks/scrollLockTouchGuard.js +117 -0
- package/dist/hooks/scrollbarGutter.d.ts +4 -4
- package/dist/hooks/scrollbarGutter.d.ts.map +1 -1
- package/dist/hooks/scrollbarGutter.js +36 -23
- package/dist/hooks/useActionGroupTracking.d.ts +53 -0
- package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
- package/dist/hooks/useActionGroupTracking.js +174 -0
- package/dist/hooks/useAnimator.d.ts +41 -0
- package/dist/hooks/useAnimator.d.ts.map +1 -0
- package/dist/hooks/useAnimator.js +70 -0
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +1 -0
- package/dist/hooks/useAttachment.d.ts +1 -1
- package/dist/hooks/useAttachment.js +1 -1
- package/dist/hooks/useAutoMediaMode.d.ts.map +1 -1
- package/dist/hooks/useAutoMediaMode.js +1 -0
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +2 -0
- package/dist/hooks/useDevWarning.d.ts.map +1 -1
- package/dist/hooks/useDevWarning.js +2 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +2 -0
- package/dist/hooks/useGridFocus.d.ts +8 -5
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +4 -3
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -0
- package/dist/hooks/useImageMode.d.ts.map +1 -1
- package/dist/hooks/useImageMode.js +3 -0
- package/dist/hooks/useInputStatusIcon.d.ts +1 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +1 -1
- package/dist/hooks/useLongPress.d.ts +8 -9
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +23 -106
- package/dist/hooks/useMenuHover.d.ts.map +1 -1
- package/dist/hooks/useMenuHover.js +2 -0
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +3 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +2 -1
- package/dist/hooks/usePressFeedback.d.ts.map +1 -1
- package/dist/hooks/usePressFeedback.js +1 -0
- package/dist/hooks/useResolvedRequired.d.ts +3 -0
- package/dist/hooks/useResolvedRequired.d.ts.map +1 -1
- package/dist/hooks/useResolvedRequired.js +3 -0
- package/dist/hooks/useScrollLock.d.ts +8 -9
- package/dist/hooks/useScrollLock.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.js +50 -48
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +5 -0
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +3 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +42 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +30 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +30 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/internal/indicatorPress.stylex.d.ts +20 -0
- package/dist/internal/indicatorPress.stylex.d.ts.map +1 -0
- package/dist/internal/indicatorPress.stylex.js +26 -0
- package/dist/internal/selectable-card.d.ts +21 -0
- package/dist/internal/selectable-card.d.ts.map +1 -0
- package/dist/internal/selectable-card.js +20 -0
- package/dist/internal/sheetDraft.d.ts +2 -2
- package/dist/internal/sheetDraft.js +2 -2
- package/dist/motion/animatedLayout.d.ts +8 -0
- package/dist/motion/animatedLayout.d.ts.map +1 -1
- package/dist/motion/animatedLayout.js +246 -53
- package/dist/motion/animator.d.ts +14 -14
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +45 -26
- package/dist/motion/frameBlock.d.ts +14 -0
- package/dist/motion/frameBlock.d.ts.map +1 -0
- package/dist/motion/frameBlock.js +16 -0
- package/dist/motion/progress.d.ts +88 -0
- package/dist/motion/progress.d.ts.map +1 -0
- package/dist/motion/progress.js +128 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -1
- package/dist/motion/reducedMotion.js +3 -1
- package/dist/motion/uikit/alert.d.ts +41 -0
- package/dist/motion/uikit/alert.d.ts.map +1 -0
- package/dist/motion/uikit/alert.js +43 -0
- package/dist/motion/uikit/index.d.ts +4 -3
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +4 -3
- package/dist/motion/uikit/picker.d.ts +96 -0
- package/dist/motion/uikit/picker.d.ts.map +1 -0
- package/dist/motion/uikit/picker.js +117 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts +22 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/pressGroupItem.stylex.js +36 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts +23 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/reducedMotion.stylex.js +40 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +29 -4
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +14 -13
- package/dist/theme/motionKnobs.d.ts +4 -3
- package/dist/theme/motionKnobs.d.ts.map +1 -1
- package/dist/theme/motionKnobs.js +3 -2
- package/dist/theme/themeMotion.d.ts +6 -0
- package/dist/theme/themeMotion.d.ts.map +1 -1
- package/dist/theme/themeMotion.js +15 -2
- package/dist/theme/tokens.stylex.d.ts +3 -0
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +4 -1
- package/dist/utils/dateParser.d.ts.map +1 -1
- package/dist/utils/dateParser.js +12 -0
- package/dist/utils/disabledInteraction.d.ts +10 -2
- package/dist/utils/disabledInteraction.d.ts.map +1 -1
- package/dist/utils/disabledInteraction.js +16 -2
- package/dist/utils/focusReturn.d.ts +22 -25
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +36 -29
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/interactionModality.d.ts.map +1 -1
- package/dist/utils/interactionModality.js +4 -0
- package/dist/utils/interactionOverlay.stylex.d.ts +3 -2
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +3 -2
- package/dist/utils/isFocusDetached.d.ts +27 -0
- package/dist/utils/isFocusDetached.d.ts.map +1 -0
- package/dist/utils/isFocusDetached.js +32 -0
- package/dist/utils/plainDate.d.ts +31 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +68 -4
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +20 -6
- package/dist/utils/triggerFocus.d.ts +36 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -0
- package/dist/utils/triggerFocus.js +65 -0
- package/locales/en.json +120 -0
- package/locales/pseudo.json +90 -0
- package/package.json +14 -9
- package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
- package/src/AlertDialog/AlertDialog.tsx +46 -5
- package/src/AppShell/AppShell.tsx +13 -4
- package/src/BottomSheet/BottomSheet.tsx +1 -0
- package/src/BottomSheet/BottomSheetPanel.tsx +39 -3
- package/src/BottomSheet/BottomSheetSwitcher.tsx +5 -0
- package/src/BottomSheet/useMobileKeyboard.ts +4 -0
- package/src/BottomSheet/useSheetGestures.ts +10 -1
- package/src/Button/Button.tsx +26 -4
- package/src/Calendar/Calendar.tsx +40 -32
- package/src/Calendar/getWeekdayHeaderNames.ts +88 -0
- package/src/Calendar/hooks/useCalendarDays.ts +5 -10
- package/src/Calendar/{standaloneShortWeekdayNames.generated.ts → weekdayHeaderNames.generated.ts} +14 -14
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/ChatComposerInput.tsx +4 -7
- package/src/Chat/ChatMessageList.tsx +2 -1
- package/src/Chat/useChatDictation.ts +1 -0
- package/src/Chat/useChatNewMessages.ts +1 -1
- package/src/Chat/useChatStreamScroll.ts +2 -0
- package/src/Chat/useSpeechRecognition.ts +2 -0
- package/src/Chat/useTriggerMenu.tsx +1 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +18 -0
- package/src/CheckboxInput/CheckboxInput.tsx +38 -15
- package/src/CheckboxList/CheckboxList.doc.mjs +7 -0
- package/src/CheckboxList/CheckboxList.tsx +9 -0
- package/src/CodeBlock/CodeBlock.doc.mjs +9 -1
- package/src/CodeBlock/CodeBlock.tsx +41 -4
- package/src/CommandPalette/CommandPalette.tsx +1 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -0
- package/src/ComplexSelector/ComplexSelector.tsx +20 -5
- package/src/ContextMenu/ContextMenu.tsx +2 -2
- package/src/DateInput/MonthScroller.tsx +8 -2
- package/src/DateInput/PickerWheel.tsx +765 -0
- package/src/DateInput/TouchDateField.tsx +6 -32
- package/src/DateInput/Wheel.tsx +94 -150
- package/src/DateInput/useOwnScrollGesture.ts +25 -3
- package/src/DateInput/usePointerDragScroll.ts +1 -0
- package/src/DateInput/useScrollSettle.ts +2 -0
- package/src/DateInput/useWheelListbox.ts +112 -0
- package/src/DateInput/wheelOptions.ts +155 -0
- package/src/DateInput/wheelPhysics.ts +406 -0
- package/src/DateInput/wheelStrip.ts +341 -0
- package/src/DateTimeInput/TouchDateTimeField.tsx +8 -13
- package/src/Dialog/Dialog.tsx +12 -32
- package/src/Drawer/useDrawerDialogPresence.ts +2 -0
- package/src/DropdownMenu/useMenuOverflow.ts +3 -0
- package/src/Field/Field.tsx +2 -2
- package/src/FieldStatus/useFieldStatusAnnouncement.ts +1 -0
- package/src/FormLayout/FormLayout.doc.mjs +181 -46
- package/src/FormLayout/FormLayout.tsx +5 -1
- package/src/HoverCard/HoverCard.doc.mjs +10 -8
- package/src/HoverCard/HoverCard.tsx +58 -6
- package/src/HoverCard/useHoverCard.doc.mjs +178 -36
- package/src/HoverCard/useHoverCard.tsx +49 -54
- package/src/Icon/Icon.doc.mjs +51 -10
- package/src/Icon/Icon.tsx +15 -7
- package/src/IconButton/IconButton.doc.mjs +141 -21
- package/src/InfoTip/InfoTip.tsx +72 -16
- package/src/Item/useSwipeAction.ts +2 -0
- package/src/Layer/modalOutlet.ts +2 -0
- package/src/Layer/outsidePress.ts +1 -0
- package/src/Layer/useLayer.tsx +3 -1
- package/src/Layer/useLayerDismissal.ts +2 -0
- package/src/Layer/useTouchTrigger.ts +19 -6
- package/src/Layout/index.ts +1 -1
- package/src/Layout/layoutReset.ts +1 -1
- package/src/Layout/overlayPaddingReset.stylex.ts +73 -0
- package/src/Layout/padding.stylex.ts +9 -133
- package/src/Layout/paddingStyles.stylex.ts +87 -0
- package/src/Lightbox/Lightbox.tsx +20 -1
- package/src/Lightbox/useLightbox.doc.mjs +167 -0
- package/src/MobileNav/MobileNav.tsx +10 -31
- package/src/MultiSelector/MultiSelector.tsx +2 -7
- package/src/NumberInput/NumberInput.tsx +2 -7
- package/src/Outline/useOutlineFromDOM.ts +2 -0
- package/src/Outline/useScrollSpy.ts +2 -0
- package/src/OverflowList/OverflowList.tsx +2 -0
- package/src/Popover/Popover.tsx +4 -0
- package/src/Popover/usePopover.tsx +2 -2
- package/src/PowerSearch/PowerSearch.doc.mjs +60 -8
- package/src/PowerSearch/PowerSearch.tsx +620 -157
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +2525 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +65 -9
- package/src/PowerSearch/PowerSearchFilterEditor.tsx +2 -0
- package/src/PowerSearch/PowerSearchToken.tsx +2 -0
- package/src/PowerSearch/PowerSearchValueEditor.tsx +340 -59
- package/src/PowerSearch/formatFilterValue.ts +49 -27
- package/src/PowerSearch/formatTokenValue.ts +220 -0
- package/src/PowerSearch/index.ts +5 -1
- package/src/PowerSearch/powerSearchDateZone.ts +95 -0
- package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
- package/src/PowerSearch/types.ts +8 -1
- package/src/ProgressBar/ProgressBarTouch.ts +2 -0
- package/src/RadioList/RadioList.tsx +3 -2
- package/src/RadioList/RadioListItem.tsx +5 -3
- package/src/Resizable/Resizable.doc.mjs +5 -4
- package/src/Resizable/ResizeHandle.tsx +169 -109
- package/src/Resizable/createResizable.ts +831 -0
- package/src/Resizable/useResizable.ts +292 -623
- package/src/SegmentedControl/useSegmentedSelectionMotion.ts +6 -3
- package/src/SelectableCard/SelectableCard.tsx +39 -10
- package/src/SelectableCard/selectableCardInput.ts +30 -0
- package/src/Selector/Selector.tsx +7 -19
- package/src/SideNav/SideNav.tsx +41 -5
- package/src/Slider/Slider.tsx +20 -11
- package/src/Slider/sliderTouchController.ts +2 -2
- package/src/Spinner/Spinner.tsx +77 -63
- package/src/Stepper/Stepper.tsx +10 -27
- package/src/Switch/Switch.tsx +2 -6
- package/src/Switch/useSwitchTouch.ts +4 -4
- package/src/Table/BaseTable.tsx +46 -12
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +2 -1
- package/src/Table/plugins/filtering/useTableFiltering.tsx +1 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +4 -0
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +2 -0
- package/src/TextArea/TextArea.tsx +2 -7
- package/src/TextInput/TextInput.tsx +13 -17
- package/src/TimeInput/TimeInput.tsx +2 -0
- package/src/TimeInput/TouchTimeField.tsx +2 -0
- package/src/Timer/Timer.tsx +1 -0
- package/src/Timestamp/Timestamp.tsx +1 -1
- package/src/Timestamp/formatInstant.ts +1 -33
- package/src/Toast/Toast.doc.mjs +4 -3
- package/src/Toast/Toast.tsx +52 -32
- package/src/Toast/ToastViewport.tsx +123 -35
- package/src/Toast/types.ts +9 -3
- package/src/Toast/useToast.tsx +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +10 -10
- package/src/Tokenizer/Tokenizer.tsx +61 -62
- package/src/Tokenizer/TokenizerBottomSheet.tsx +9 -11
- package/src/Tokenizer/index.ts +1 -0
- package/src/Tooltip/Tooltip.tsx +6 -42
- package/src/Tooltip/useTooltip.doc.mjs +24 -0
- package/src/Tooltip/useTooltip.tsx +237 -134
- package/src/Typeahead/BaseTypeahead.tsx +27 -17
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/TypeaheadItem.tsx +2 -1
- package/src/animator/createAnimator.doc.mjs +153 -0
- package/src/animator/createAnimator.ts +324 -0
- package/src/gestures/GestureHost.ts +1 -1
- package/src/gestures/PressTracker.ts +4 -3
- package/src/gestures/README.md +10 -4
- package/src/hooks/ModalAnnounceProvider.tsx +1 -0
- package/src/hooks/actionGroupTracker.ts +20 -5
- package/src/hooks/index.ts +2 -0
- package/src/hooks/longPressDetector.ts +273 -0
- package/src/hooks/pressGroupContext.ts +21 -0
- package/src/hooks/rootScrollStyles.ts +247 -0
- package/src/hooks/scrollLockTouchGuard.ts +149 -0
- package/src/hooks/scrollbarGutter.ts +41 -26
- package/src/hooks/useActionGroupTracking.ts +224 -0
- package/src/hooks/useAnimator.doc.mjs +109 -0
- package/src/hooks/useAnimator.ts +67 -0
- package/src/hooks/useAnnounceRenderedText.ts +1 -0
- package/src/hooks/useAttachment.ts +1 -1
- package/src/hooks/useAutoMediaMode.ts +1 -0
- package/src/hooks/useBusyAnnouncement.ts +2 -0
- package/src/hooks/useDevWarning.ts +2 -0
- package/src/hooks/useFocusTrap.ts +2 -0
- package/src/hooks/useGridFocus.doc.mjs +6 -6
- package/src/hooks/useGridFocus.ts +10 -7
- package/src/hooks/useHotkeys.ts +2 -0
- package/src/hooks/useImageMode.ts +2 -0
- package/src/hooks/useInputStatusIcon.tsx +3 -2
- package/src/hooks/useKeyboardHint.tsx +1 -1
- package/src/hooks/useLongPress.doc.mjs +2 -2
- package/src/hooks/useLongPress.ts +32 -122
- package/src/hooks/useMenuHover.ts +1 -0
- package/src/hooks/useMenuPress.ts +2 -0
- package/src/hooks/useOverflow.ts +2 -1
- package/src/hooks/usePressFeedback.ts +1 -0
- package/src/hooks/useResolvedRequired.ts +3 -0
- package/src/hooks/useScrollLock.doc.mjs +51 -12
- package/src/hooks/useScrollLock.ts +53 -60
- package/src/hooks/useScrollableArea.ts +4 -0
- package/src/hooks/useStreamingText.ts +2 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +43 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
- package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
- package/src/i18n/generated-locales/en.generated.ts +41 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +42 -0
- package/src/index.ts +13 -0
- package/src/internal/indicatorPress.stylex.ts +24 -0
- package/src/internal/selectable-card.ts +21 -0
- package/src/internal/sheetDraft.ts +2 -2
- package/src/motion/MEASUREMENTS.md +18 -0
- package/src/motion/README.md +10 -5
- package/src/motion/animatedLayout.ts +323 -60
- package/src/motion/animator.ts +66 -37
- package/src/motion/frameBlock.ts +16 -0
- package/src/motion/progress.ts +155 -0
- package/src/motion/reducedMotion.ts +3 -1
- package/src/motion/uikit/alert.ts +43 -0
- package/src/motion/uikit/index.ts +4 -3
- package/src/motion/uikit/picker.ts +116 -0
- package/src/privateAttributes/pressGroupItem.stylex.ts +44 -0
- package/src/privateAttributes/reducedMotion.stylex.ts +45 -0
- package/src/theme/Theme.tsx +37 -3
- package/src/theme/generateThemeRules.ts +14 -12
- package/src/theme/motionKnobs.ts +4 -3
- package/src/theme/themeMotion.ts +17 -2
- package/src/theme/tokens.stylex.ts +2 -0
- package/src/utils/dateParser.ts +16 -0
- package/src/utils/disabledInteraction.ts +23 -2
- package/src/utils/focusReturn.ts +38 -31
- package/src/utils/index.ts +1 -1
- package/src/utils/interactionModality.ts +4 -0
- package/src/utils/interactionOverlay.stylex.ts +3 -2
- package/src/utils/isFocusDetached.ts +34 -0
- package/src/utils/plainDate.ts +80 -4
- package/src/utils/pressFeedback.ts +24 -6
- package/src/utils/triggerFocus.ts +80 -0
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +0 -14
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts.map +0 -1
- package/dist/Calendar/getStandaloneShortWeekdayNames.js +0 -26
- package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts.map +0 -1
- package/dist/Layer/usePressPin.d.ts +0 -93
- package/dist/Layer/usePressPin.d.ts.map +0 -1
- package/dist/Layer/usePressPin.js +0 -363
- package/dist/internal/touch-sheet.d.ts +0 -21
- package/dist/internal/touch-sheet.d.ts.map +0 -1
- package/dist/internal/touch-sheet.js +0 -19
- package/src/Calendar/getStandaloneShortWeekdayNames.ts +0 -38
- package/src/Layer/usePressPin.ts +0 -510
- 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/
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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:
|
|
442
|
+
label: label,
|
|
327
443
|
isLabelHidden: true,
|
|
328
444
|
isDisabled: isDisabled,
|
|
329
|
-
value:
|
|
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
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
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:
|
|
582
|
+
unixSeconds: isoDateToUnixSeconds(range.start, zone)
|
|
427
583
|
},
|
|
428
584
|
end: {
|
|
429
585
|
type: 'ABSOLUTE',
|
|
430
|
-
unixSeconds:
|
|
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
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
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
|
|
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
|