@inploi/plugin-job-alerts 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/cdn/index.js +11 -11
- package/dist/job-alerts.constants.d.ts +3 -1
- package/dist/job-alerts.d.ts +5 -0
- package/dist/job-alerts.terms.d.ts +2 -0
- package/dist/plugin-job-alerts.cjs +259 -861
- package/dist/plugin-job-alerts.js +259 -861
- package/package.json +5 -4
|
@@ -3209,14 +3209,14 @@ function FloatingFocusManager(props) {
|
|
|
3209
3209
|
beforeContentFocusGuardRef,
|
|
3210
3210
|
externalTree
|
|
3211
3211
|
} = props;
|
|
3212
|
-
const
|
|
3213
|
-
const open =
|
|
3214
|
-
const domReference =
|
|
3215
|
-
const floating =
|
|
3212
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
3213
|
+
const open = store2.useState("open");
|
|
3214
|
+
const domReference = store2.useState("domReferenceElement");
|
|
3215
|
+
const floating = store2.useState("floatingElement");
|
|
3216
3216
|
const {
|
|
3217
3217
|
events,
|
|
3218
3218
|
dataRef
|
|
3219
|
-
} =
|
|
3219
|
+
} = store2.context;
|
|
3220
3220
|
const getNodeId = useStableCallback(() => {
|
|
3221
3221
|
var _a;
|
|
3222
3222
|
return (_a = dataRef.current.floatingContext) == null ? void 0 : _a.nodeId;
|
|
@@ -3337,7 +3337,7 @@ function FloatingFocusManager(props) {
|
|
|
3337
3337
|
const target = getTarget(event);
|
|
3338
3338
|
queueMicrotask(() => {
|
|
3339
3339
|
const nodeId = getNodeId();
|
|
3340
|
-
const triggers =
|
|
3340
|
+
const triggers = store2.context.triggerElements;
|
|
3341
3341
|
const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && triggers.hasElement(relatedTarget) || triggers.hasMatchingElement((trigger) => contains(trigger, relatedTarget)) || (relatedTarget == null ? void 0 : relatedTarget.hasAttribute(createAttribute("focus-guard"))) || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find((node) => {
|
|
3342
3342
|
var _a, _b;
|
|
3343
3343
|
return contains((_a = node.context) == null ? void 0 : _a.elements.floating, relatedTarget) || contains((_b = node.context) == null ? void 0 : _b.elements.domReference, relatedTarget);
|
|
@@ -3378,7 +3378,7 @@ function FloatingFocusManager(props) {
|
|
|
3378
3378
|
// Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
|
|
3379
3379
|
(isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
|
|
3380
3380
|
preventReturnFocusRef.current = true;
|
|
3381
|
-
|
|
3381
|
+
store2.setOpen(false, createChangeEventDetails(focusOut, event));
|
|
3382
3382
|
}
|
|
3383
3383
|
});
|
|
3384
3384
|
}
|
|
@@ -3421,7 +3421,7 @@ function FloatingFocusManager(props) {
|
|
|
3421
3421
|
cleanup();
|
|
3422
3422
|
});
|
|
3423
3423
|
};
|
|
3424
|
-
}, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext,
|
|
3424
|
+
}, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, store2, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame]);
|
|
3425
3425
|
const beforeGuardRef = A$1(null);
|
|
3426
3426
|
const afterGuardRef = A$1(null);
|
|
3427
3427
|
const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef);
|
|
@@ -3590,13 +3590,13 @@ function FloatingFocusManager(props) {
|
|
|
3590
3590
|
modal,
|
|
3591
3591
|
closeOnFocusOut,
|
|
3592
3592
|
open,
|
|
3593
|
-
onOpenChange:
|
|
3593
|
+
onOpenChange: store2.setOpen,
|
|
3594
3594
|
domReference
|
|
3595
3595
|
});
|
|
3596
3596
|
return () => {
|
|
3597
3597
|
portalContext.setFocusManagerState(null);
|
|
3598
3598
|
};
|
|
3599
|
-
}, [disabled, portalContext, modal, open,
|
|
3599
|
+
}, [disabled, portalContext, modal, open, store2, closeOnFocusOut, domReference]);
|
|
3600
3600
|
useIsoLayoutEffect(() => {
|
|
3601
3601
|
if (disabled || !floatingFocusElement) {
|
|
3602
3602
|
return void 0;
|
|
@@ -3649,8 +3649,8 @@ function FloatingFocusManager(props) {
|
|
|
3649
3649
|
});
|
|
3650
3650
|
}
|
|
3651
3651
|
function useClick(context, props = {}) {
|
|
3652
|
-
const
|
|
3653
|
-
const dataRef =
|
|
3652
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
3653
|
+
const dataRef = store2.context.dataRef;
|
|
3654
3654
|
const {
|
|
3655
3655
|
enabled = true,
|
|
3656
3656
|
event: eventOption = "click",
|
|
@@ -3669,22 +3669,22 @@ function useClick(context, props = {}) {
|
|
|
3669
3669
|
onMouseDown(event) {
|
|
3670
3670
|
const pointerType = pointerTypeRef.current;
|
|
3671
3671
|
const nativeEvent = event.nativeEvent;
|
|
3672
|
-
const open =
|
|
3672
|
+
const open = store2.select("open");
|
|
3673
3673
|
if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
|
|
3674
3674
|
return;
|
|
3675
3675
|
}
|
|
3676
3676
|
const openEvent = dataRef.current.openEvent;
|
|
3677
3677
|
const openEventType = openEvent == null ? void 0 : openEvent.type;
|
|
3678
|
-
const hasClickedOnInactiveTrigger =
|
|
3678
|
+
const hasClickedOnInactiveTrigger = store2.select("domReferenceElement") !== event.currentTarget;
|
|
3679
3679
|
const nextOpen = open && hasClickedOnInactiveTrigger || !(open && toggle && (openEvent && stickIfOpen ? openEventType === "click" || openEventType === "mousedown" : true));
|
|
3680
3680
|
if (isTypeableElement(nativeEvent.target)) {
|
|
3681
3681
|
const details = createChangeEventDetails(triggerPress, nativeEvent, nativeEvent.target);
|
|
3682
3682
|
if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
|
|
3683
3683
|
touchOpenTimeout.start(touchOpenDelay, () => {
|
|
3684
|
-
|
|
3684
|
+
store2.setOpen(true, details);
|
|
3685
3685
|
});
|
|
3686
3686
|
} else {
|
|
3687
|
-
|
|
3687
|
+
store2.setOpen(nextOpen, details);
|
|
3688
3688
|
}
|
|
3689
3689
|
return;
|
|
3690
3690
|
}
|
|
@@ -3693,10 +3693,10 @@ function useClick(context, props = {}) {
|
|
|
3693
3693
|
const details = createChangeEventDetails(triggerPress, nativeEvent, eventCurrentTarget);
|
|
3694
3694
|
if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
|
|
3695
3695
|
touchOpenTimeout.start(touchOpenDelay, () => {
|
|
3696
|
-
|
|
3696
|
+
store2.setOpen(true, details);
|
|
3697
3697
|
});
|
|
3698
3698
|
} else {
|
|
3699
|
-
|
|
3699
|
+
store2.setOpen(nextOpen, details);
|
|
3700
3700
|
}
|
|
3701
3701
|
});
|
|
3702
3702
|
},
|
|
@@ -3712,23 +3712,23 @@ function useClick(context, props = {}) {
|
|
|
3712
3712
|
if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
|
|
3713
3713
|
return;
|
|
3714
3714
|
}
|
|
3715
|
-
const open =
|
|
3715
|
+
const open = store2.select("open");
|
|
3716
3716
|
const openEvent = dataRef.current.openEvent;
|
|
3717
|
-
const hasClickedOnInactiveTrigger =
|
|
3717
|
+
const hasClickedOnInactiveTrigger = store2.select("domReferenceElement") !== event.currentTarget;
|
|
3718
3718
|
const nextOpen = open && hasClickedOnInactiveTrigger || !(open && toggle && (openEvent && stickIfOpen ? isClickLikeEvent(openEvent) : true));
|
|
3719
3719
|
const details = createChangeEventDetails(triggerPress, event.nativeEvent, event.currentTarget);
|
|
3720
3720
|
if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
|
|
3721
3721
|
touchOpenTimeout.start(touchOpenDelay, () => {
|
|
3722
|
-
|
|
3722
|
+
store2.setOpen(true, details);
|
|
3723
3723
|
});
|
|
3724
3724
|
} else {
|
|
3725
|
-
|
|
3725
|
+
store2.setOpen(nextOpen, details);
|
|
3726
3726
|
}
|
|
3727
3727
|
},
|
|
3728
3728
|
onKeyDown() {
|
|
3729
3729
|
pointerTypeRef.current = void 0;
|
|
3730
3730
|
}
|
|
3731
|
-
}), [dataRef, eventOption, ignoreMouse,
|
|
3731
|
+
}), [dataRef, eventOption, ignoreMouse, store2, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
|
|
3732
3732
|
return T$1(() => enabled ? {
|
|
3733
3733
|
reference
|
|
3734
3734
|
} : EMPTY_OBJECT, [enabled, reference]);
|
|
@@ -5538,15 +5538,15 @@ function normalizeProp(normalizable) {
|
|
|
5538
5538
|
};
|
|
5539
5539
|
}
|
|
5540
5540
|
function useDismiss(context, props = {}) {
|
|
5541
|
-
const
|
|
5542
|
-
const open =
|
|
5543
|
-
const floatingElement =
|
|
5544
|
-
const referenceElement =
|
|
5545
|
-
const domReferenceElement =
|
|
5541
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
5542
|
+
const open = store2.useState("open");
|
|
5543
|
+
const floatingElement = store2.useState("floatingElement");
|
|
5544
|
+
const referenceElement = store2.useState("referenceElement");
|
|
5545
|
+
const domReferenceElement = store2.useState("domReferenceElement");
|
|
5546
5546
|
const {
|
|
5547
5547
|
onOpenChange,
|
|
5548
5548
|
dataRef
|
|
5549
|
-
} =
|
|
5549
|
+
} = store2.context;
|
|
5550
5550
|
const {
|
|
5551
5551
|
enabled = true,
|
|
5552
5552
|
escapeKey: escapeKey$1 = true,
|
|
@@ -5613,7 +5613,7 @@ function useDismiss(context, props = {}) {
|
|
|
5613
5613
|
}
|
|
5614
5614
|
const native = isReactEvent(event) ? event.nativeEvent : event;
|
|
5615
5615
|
const eventDetails = createChangeEventDetails(escapeKey, native);
|
|
5616
|
-
|
|
5616
|
+
store2.setOpen(false, eventDetails);
|
|
5617
5617
|
if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
|
|
5618
5618
|
event.stopPropagation();
|
|
5619
5619
|
}
|
|
@@ -5644,8 +5644,8 @@ function useDismiss(context, props = {}) {
|
|
|
5644
5644
|
}
|
|
5645
5645
|
const target = getTarget(event);
|
|
5646
5646
|
const inertSelector = `[${createAttribute("inert")}]`;
|
|
5647
|
-
const markers = getDocument(
|
|
5648
|
-
const triggers =
|
|
5647
|
+
const markers = getDocument(store2.select("floatingElement")).querySelectorAll(inertSelector);
|
|
5648
|
+
const triggers = store2.context.triggerElements;
|
|
5649
5649
|
if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
|
|
5650
5650
|
return;
|
|
5651
5651
|
}
|
|
@@ -5658,7 +5658,7 @@ function useDismiss(context, props = {}) {
|
|
|
5658
5658
|
targetRootAncestor = nextParent;
|
|
5659
5659
|
}
|
|
5660
5660
|
if (markers.length && isElement$1(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
|
|
5661
|
-
!contains(target,
|
|
5661
|
+
!contains(target, store2.select("floatingElement")) && // If the target root element contains none of the markers, then the
|
|
5662
5662
|
// element was injected after the floating element rendered.
|
|
5663
5663
|
Array.from(markers).every((marker) => !contains(targetRootAncestor, marker))) {
|
|
5664
5664
|
return;
|
|
@@ -5683,7 +5683,7 @@ function useDismiss(context, props = {}) {
|
|
|
5683
5683
|
var _a2;
|
|
5684
5684
|
return isEventTargetWithin(event, (_a2 = node.context) == null ? void 0 : _a2.elements.floating);
|
|
5685
5685
|
});
|
|
5686
|
-
if (isEventTargetWithin(event,
|
|
5686
|
+
if (isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement")) || targetIsInsideChildren) {
|
|
5687
5687
|
return;
|
|
5688
5688
|
}
|
|
5689
5689
|
const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
|
|
@@ -5699,17 +5699,17 @@ function useDismiss(context, props = {}) {
|
|
|
5699
5699
|
return;
|
|
5700
5700
|
}
|
|
5701
5701
|
}
|
|
5702
|
-
|
|
5702
|
+
store2.setOpen(false, createChangeEventDetails(outsidePress, event));
|
|
5703
5703
|
clearInsideReactTree();
|
|
5704
5704
|
});
|
|
5705
5705
|
const handlePointerDown = useStableCallback((event) => {
|
|
5706
|
-
if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !
|
|
5706
|
+
if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store2.select("open") || !enabled || isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement"))) {
|
|
5707
5707
|
return;
|
|
5708
5708
|
}
|
|
5709
5709
|
closeOnPressOutside(event);
|
|
5710
5710
|
});
|
|
5711
5711
|
const handleTouchStart = useStableCallback((event) => {
|
|
5712
|
-
if (getOutsidePressEvent() !== "sloppy" || !
|
|
5712
|
+
if (getOutsidePressEvent() !== "sloppy" || !store2.select("open") || !enabled || isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement"))) {
|
|
5713
5713
|
return;
|
|
5714
5714
|
}
|
|
5715
5715
|
const touch = event.touches[0];
|
|
@@ -5756,7 +5756,7 @@ function useDismiss(context, props = {}) {
|
|
|
5756
5756
|
target == null ? void 0 : target.addEventListener(event.type, callback);
|
|
5757
5757
|
});
|
|
5758
5758
|
const handleTouchMove = useStableCallback((event) => {
|
|
5759
|
-
if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventTargetWithin(event,
|
|
5759
|
+
if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement"))) {
|
|
5760
5760
|
return;
|
|
5761
5761
|
}
|
|
5762
5762
|
const touch = event.touches[0];
|
|
@@ -5784,7 +5784,7 @@ function useDismiss(context, props = {}) {
|
|
|
5784
5784
|
target == null ? void 0 : target.addEventListener(event.type, callback);
|
|
5785
5785
|
});
|
|
5786
5786
|
const handleTouchEnd = useStableCallback((event) => {
|
|
5787
|
-
if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventTargetWithin(event,
|
|
5787
|
+
if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement"))) {
|
|
5788
5788
|
return;
|
|
5789
5789
|
}
|
|
5790
5790
|
if (touchStateRef.current.dismissOnTouchEnd) {
|
|
@@ -5809,7 +5809,7 @@ function useDismiss(context, props = {}) {
|
|
|
5809
5809
|
dataRef.current.__outsidePressBubbles = outsidePressBubbles;
|
|
5810
5810
|
const compositionTimeout = new Timeout();
|
|
5811
5811
|
function onScroll(event) {
|
|
5812
|
-
|
|
5812
|
+
store2.setOpen(false, createChangeEventDetails(none, event));
|
|
5813
5813
|
}
|
|
5814
5814
|
function handleCompositionStart() {
|
|
5815
5815
|
compositionTimeout.clear();
|
|
@@ -5881,24 +5881,24 @@ function useDismiss(context, props = {}) {
|
|
|
5881
5881
|
});
|
|
5882
5882
|
compositionTimeout.clear();
|
|
5883
5883
|
};
|
|
5884
|
-
}, [dataRef, floatingElement, referenceElement, domReferenceElement, escapeKey$1, outsidePress$1, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, closeOnPressOutside, closeOnPressOutsideCapture, handlePointerDown, handleTouchStartCapture, handleTouchMoveCapture, handleTouchEndCapture, trackPointerType,
|
|
5884
|
+
}, [dataRef, floatingElement, referenceElement, domReferenceElement, escapeKey$1, outsidePress$1, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, closeOnPressOutside, closeOnPressOutsideCapture, handlePointerDown, handleTouchStartCapture, handleTouchMoveCapture, handleTouchEndCapture, trackPointerType, store2]);
|
|
5885
5885
|
y$1(clearInsideReactTree, [outsidePress$1, clearInsideReactTree]);
|
|
5886
5886
|
const reference = T$1(() => ({
|
|
5887
5887
|
onKeyDown: closeOnEscapeKeyDown,
|
|
5888
5888
|
...referencePress && {
|
|
5889
5889
|
[bubbleHandlerKeys[referencePressEvent]]: (event) => {
|
|
5890
|
-
|
|
5890
|
+
store2.setOpen(false, createChangeEventDetails(triggerPress, event.nativeEvent));
|
|
5891
5891
|
},
|
|
5892
5892
|
...referencePressEvent !== "intentional" && {
|
|
5893
5893
|
onClick(event) {
|
|
5894
|
-
|
|
5894
|
+
store2.setOpen(false, createChangeEventDetails(triggerPress, event.nativeEvent));
|
|
5895
5895
|
}
|
|
5896
5896
|
}
|
|
5897
5897
|
}
|
|
5898
|
-
}), [closeOnEscapeKeyDown,
|
|
5898
|
+
}), [closeOnEscapeKeyDown, store2, referencePress, referencePressEvent]);
|
|
5899
5899
|
const handlePressedInside = useStableCallback((event) => {
|
|
5900
5900
|
const target = getTarget(event.nativeEvent);
|
|
5901
|
-
if (!contains(
|
|
5901
|
+
if (!contains(store2.select("floatingElement"), target) || event.button !== 0) {
|
|
5902
5902
|
return;
|
|
5903
5903
|
}
|
|
5904
5904
|
endedOrStartedInsideRef.current = true;
|
|
@@ -5980,14 +5980,14 @@ function assertIsFunction(func, errorMessage = `expected a function, instead rec
|
|
|
5980
5980
|
throw new TypeError(errorMessage);
|
|
5981
5981
|
}
|
|
5982
5982
|
}
|
|
5983
|
-
function assertIsObject(
|
|
5984
|
-
if (typeof
|
|
5983
|
+
function assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {
|
|
5984
|
+
if (typeof object !== "object") {
|
|
5985
5985
|
throw new TypeError(errorMessage);
|
|
5986
5986
|
}
|
|
5987
5987
|
}
|
|
5988
|
-
function assertIsArrayOfFunctions(
|
|
5989
|
-
if (!
|
|
5990
|
-
const itemTypes =
|
|
5988
|
+
function assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
|
|
5989
|
+
if (!array.every((item) => typeof item === "function")) {
|
|
5990
|
+
const itemTypes = array.map(
|
|
5991
5991
|
(item) => typeof item === "function" ? `function ${item.name || "unnamed"}()` : typeof item
|
|
5992
5992
|
).join(", ");
|
|
5993
5993
|
throw new TypeError(`${errorMessage}[${itemTypes}]`);
|
|
@@ -6721,15 +6721,15 @@ if (process.env.NODE_ENV === "production") {
|
|
|
6721
6721
|
var withSelectorExports = withSelector.exports;
|
|
6722
6722
|
const canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
|
|
6723
6723
|
const useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreR19 : useStoreLegacy;
|
|
6724
|
-
function useStore(
|
|
6725
|
-
return useStoreImplementation(
|
|
6724
|
+
function useStore(store2, selector, a1, a2, a3) {
|
|
6725
|
+
return useStoreImplementation(store2, selector, a1, a2, a3);
|
|
6726
6726
|
}
|
|
6727
|
-
function useStoreR19(
|
|
6728
|
-
const getSelection = q$1(() => selector(
|
|
6729
|
-
return shimExports.useSyncExternalStore(
|
|
6727
|
+
function useStoreR19(store2, selector, a1, a2, a3) {
|
|
6728
|
+
const getSelection = q$1(() => selector(store2.getSnapshot(), a1, a2, a3), [store2, selector, a1, a2, a3]);
|
|
6729
|
+
return shimExports.useSyncExternalStore(store2.subscribe, getSelection, getSelection);
|
|
6730
6730
|
}
|
|
6731
|
-
function useStoreLegacy(
|
|
6732
|
-
return withSelectorExports.useSyncExternalStoreWithSelector(
|
|
6731
|
+
function useStoreLegacy(store2, selector, a1, a2, a3) {
|
|
6732
|
+
return withSelectorExports.useSyncExternalStoreWithSelector(store2.subscribe, store2.getSnapshot, store2.getSnapshot, (state) => selector(state, a1, a2, a3));
|
|
6733
6733
|
}
|
|
6734
6734
|
class Store {
|
|
6735
6735
|
/**
|
|
@@ -7236,36 +7236,36 @@ function useOpenChangeComplete(parameters) {
|
|
|
7236
7236
|
});
|
|
7237
7237
|
}, [enabled, open, onComplete, runOnceAnimationsFinish, openRef]);
|
|
7238
7238
|
}
|
|
7239
|
-
function useTriggerRegistration(id,
|
|
7239
|
+
function useTriggerRegistration(id, store2) {
|
|
7240
7240
|
const registeredElementId = A$1(null);
|
|
7241
7241
|
return q$1((element) => {
|
|
7242
7242
|
if (id === void 0) {
|
|
7243
7243
|
return void 0;
|
|
7244
7244
|
}
|
|
7245
7245
|
if (registeredElementId.current !== null) {
|
|
7246
|
-
|
|
7246
|
+
store2.context.triggerElements.delete(registeredElementId.current);
|
|
7247
7247
|
registeredElementId.current = null;
|
|
7248
7248
|
}
|
|
7249
7249
|
if (element !== null) {
|
|
7250
7250
|
registeredElementId.current = id;
|
|
7251
|
-
|
|
7251
|
+
store2.context.triggerElements.add(id, element);
|
|
7252
7252
|
return () => {
|
|
7253
7253
|
if (registeredElementId.current !== null) {
|
|
7254
|
-
|
|
7254
|
+
store2.context.triggerElements.delete(registeredElementId.current);
|
|
7255
7255
|
registeredElementId.current = null;
|
|
7256
7256
|
}
|
|
7257
7257
|
};
|
|
7258
7258
|
}
|
|
7259
7259
|
return void 0;
|
|
7260
|
-
}, [
|
|
7260
|
+
}, [store2, id]);
|
|
7261
7261
|
}
|
|
7262
|
-
function useTriggerDataForwarding(triggerId, triggerElementRef,
|
|
7263
|
-
const isMountedByThisTrigger =
|
|
7264
|
-
const baseRegisterTrigger = useTriggerRegistration(triggerId,
|
|
7262
|
+
function useTriggerDataForwarding(triggerId, triggerElementRef, store2, stateUpdates) {
|
|
7263
|
+
const isMountedByThisTrigger = store2.useState("isMountedByTrigger", triggerId);
|
|
7264
|
+
const baseRegisterTrigger = useTriggerRegistration(triggerId, store2);
|
|
7265
7265
|
const registerTrigger = useStableCallback((element) => {
|
|
7266
7266
|
const cleanup = baseRegisterTrigger(element);
|
|
7267
|
-
if (element !== null &&
|
|
7268
|
-
|
|
7267
|
+
if (element !== null && store2.select("open") && store2.select("activeTriggerId") == null) {
|
|
7268
|
+
store2.update({
|
|
7269
7269
|
activeTriggerId: triggerId,
|
|
7270
7270
|
activeTriggerElement: element,
|
|
7271
7271
|
...stateUpdates
|
|
@@ -7275,58 +7275,58 @@ function useTriggerDataForwarding(triggerId, triggerElementRef, store5, stateUpd
|
|
|
7275
7275
|
});
|
|
7276
7276
|
useIsoLayoutEffect(() => {
|
|
7277
7277
|
if (isMountedByThisTrigger) {
|
|
7278
|
-
|
|
7278
|
+
store2.update({
|
|
7279
7279
|
activeTriggerElement: triggerElementRef.current,
|
|
7280
7280
|
...stateUpdates
|
|
7281
7281
|
});
|
|
7282
7282
|
}
|
|
7283
|
-
}, [isMountedByThisTrigger,
|
|
7283
|
+
}, [isMountedByThisTrigger, store2, triggerElementRef, ...Object.values(stateUpdates)]);
|
|
7284
7284
|
return {
|
|
7285
7285
|
registerTrigger,
|
|
7286
7286
|
isMountedByThisTrigger
|
|
7287
7287
|
};
|
|
7288
7288
|
}
|
|
7289
|
-
function useImplicitActiveTrigger(
|
|
7290
|
-
const open =
|
|
7289
|
+
function useImplicitActiveTrigger(store2) {
|
|
7290
|
+
const open = store2.useState("open");
|
|
7291
7291
|
useIsoLayoutEffect(() => {
|
|
7292
|
-
if (open && !
|
|
7293
|
-
const iteratorResult =
|
|
7292
|
+
if (open && !store2.select("activeTriggerId") && store2.context.triggerElements.size === 1) {
|
|
7293
|
+
const iteratorResult = store2.context.triggerElements.entries().next();
|
|
7294
7294
|
if (!iteratorResult.done) {
|
|
7295
7295
|
const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;
|
|
7296
|
-
|
|
7296
|
+
store2.update({
|
|
7297
7297
|
activeTriggerId: implicitTriggerId,
|
|
7298
7298
|
activeTriggerElement: implicitTriggerElement
|
|
7299
7299
|
});
|
|
7300
7300
|
}
|
|
7301
7301
|
}
|
|
7302
|
-
}, [open,
|
|
7302
|
+
}, [open, store2]);
|
|
7303
7303
|
}
|
|
7304
|
-
function useOpenStateTransitions(open,
|
|
7304
|
+
function useOpenStateTransitions(open, store2, onUnmount) {
|
|
7305
7305
|
const {
|
|
7306
7306
|
mounted,
|
|
7307
7307
|
setMounted,
|
|
7308
7308
|
transitionStatus
|
|
7309
7309
|
} = useTransitionStatus(open);
|
|
7310
|
-
|
|
7310
|
+
store2.useSyncedValues({
|
|
7311
7311
|
mounted,
|
|
7312
7312
|
transitionStatus
|
|
7313
7313
|
});
|
|
7314
7314
|
const forceUnmount = useStableCallback(() => {
|
|
7315
7315
|
var _a, _b;
|
|
7316
7316
|
setMounted(false);
|
|
7317
|
-
|
|
7317
|
+
store2.update({
|
|
7318
7318
|
activeTriggerId: null,
|
|
7319
7319
|
activeTriggerElement: null,
|
|
7320
7320
|
mounted: false
|
|
7321
7321
|
});
|
|
7322
7322
|
onUnmount == null ? void 0 : onUnmount();
|
|
7323
|
-
(_b = (_a =
|
|
7323
|
+
(_b = (_a = store2.context).onOpenChangeComplete) == null ? void 0 : _b.call(_a, false);
|
|
7324
7324
|
});
|
|
7325
|
-
const preventUnmountingOnClose =
|
|
7325
|
+
const preventUnmountingOnClose = store2.useState("preventUnmountingOnClose");
|
|
7326
7326
|
useOpenChangeComplete({
|
|
7327
7327
|
enabled: !preventUnmountingOnClose,
|
|
7328
7328
|
open,
|
|
7329
|
-
ref:
|
|
7329
|
+
ref: store2.context.popupRef,
|
|
7330
7330
|
onComplete() {
|
|
7331
7331
|
if (!open) {
|
|
7332
7332
|
forceUnmount();
|
|
@@ -7470,7 +7470,7 @@ function useFloatingRootContext(options) {
|
|
|
7470
7470
|
console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
|
|
7471
7471
|
}
|
|
7472
7472
|
}
|
|
7473
|
-
const
|
|
7473
|
+
const store2 = useRefWithInit(() => new FloatingRootStore({
|
|
7474
7474
|
open,
|
|
7475
7475
|
onOpenChange,
|
|
7476
7476
|
referenceElement: elements.reference ?? null,
|
|
@@ -7492,12 +7492,12 @@ function useFloatingRootContext(options) {
|
|
|
7492
7492
|
if (elements.floating !== void 0) {
|
|
7493
7493
|
valuesToSync.floatingElement = elements.floating;
|
|
7494
7494
|
}
|
|
7495
|
-
|
|
7496
|
-
}, [open, floatingId, elements.reference, elements.floating,
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
return
|
|
7495
|
+
store2.update(valuesToSync);
|
|
7496
|
+
}, [open, floatingId, elements.reference, elements.floating, store2]);
|
|
7497
|
+
store2.context.onOpenChange = onOpenChange;
|
|
7498
|
+
store2.context.nested = nested;
|
|
7499
|
+
store2.context.noEmit = options.noEmit || false;
|
|
7500
|
+
return store2;
|
|
7501
7501
|
}
|
|
7502
7502
|
function useFloating(options = {}) {
|
|
7503
7503
|
const {
|
|
@@ -7611,7 +7611,7 @@ function useSyncedFloatingRootContext(options) {
|
|
|
7611
7611
|
const referenceElement = popupStore.useState("activeTriggerElement");
|
|
7612
7612
|
const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement");
|
|
7613
7613
|
const triggerElements = popupStore.context.triggerElements;
|
|
7614
|
-
const
|
|
7614
|
+
const store2 = useRefWithInit(() => new FloatingRootStore({
|
|
7615
7615
|
open,
|
|
7616
7616
|
referenceElement,
|
|
7617
7617
|
floatingElement,
|
|
@@ -7631,19 +7631,19 @@ function useSyncedFloatingRootContext(options) {
|
|
|
7631
7631
|
if (isElement$1(referenceElement)) {
|
|
7632
7632
|
valuesToSync.domReferenceElement = referenceElement;
|
|
7633
7633
|
}
|
|
7634
|
-
|
|
7635
|
-
}, [open, floatingId, referenceElement, floatingElement,
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
return
|
|
7634
|
+
store2.update(valuesToSync);
|
|
7635
|
+
}, [open, floatingId, referenceElement, floatingElement, store2]);
|
|
7636
|
+
store2.context.onOpenChange = onOpenChange;
|
|
7637
|
+
store2.context.nested = nested;
|
|
7638
|
+
store2.context.noEmit = noEmit;
|
|
7639
|
+
return store2;
|
|
7640
7640
|
}
|
|
7641
7641
|
const safePolygonIdentifier = createAttribute("safe-polygon");
|
|
7642
7642
|
const interactiveSelector = `button,a,[role="button"],select,[tabindex]:not([tabindex="-1"]),${TYPEABLE_SELECTOR}`;
|
|
7643
7643
|
function isInteractiveElement(element) {
|
|
7644
7644
|
return element ? Boolean(element.closest(interactiveSelector)) : false;
|
|
7645
7645
|
}
|
|
7646
|
-
function useHoverInteractionSharedState(
|
|
7646
|
+
function useHoverInteractionSharedState(store2) {
|
|
7647
7647
|
const pointerTypeRef = A$1(void 0);
|
|
7648
7648
|
const interactedInsideRef = A$1(false);
|
|
7649
7649
|
const handlerRef = A$1(void 0);
|
|
@@ -7656,7 +7656,7 @@ function useHoverInteractionSharedState(store5) {
|
|
|
7656
7656
|
const restTimeout = useTimeout();
|
|
7657
7657
|
const handleCloseOptionsRef = A$1(void 0);
|
|
7658
7658
|
return T$1(() => {
|
|
7659
|
-
const data =
|
|
7659
|
+
const data = store2.context.dataRef.current;
|
|
7660
7660
|
if (!data.hoverInteractionState) {
|
|
7661
7661
|
data.hoverInteractionState = {
|
|
7662
7662
|
pointerTypeRef,
|
|
@@ -7672,17 +7672,17 @@ function useHoverInteractionSharedState(store5) {
|
|
|
7672
7672
|
};
|
|
7673
7673
|
}
|
|
7674
7674
|
return data.hoverInteractionState;
|
|
7675
|
-
}, [
|
|
7675
|
+
}, [store2, pointerTypeRef, interactedInsideRef, handlerRef, blockMouseMoveRef, performedPointerEventsMutationRef, unbindMouseMoveRef, restTimeoutPendingRef, openChangeTimeout, restTimeout, handleCloseOptionsRef]);
|
|
7676
7676
|
}
|
|
7677
7677
|
const clickLikeEvents = /* @__PURE__ */ new Set(["click", "mousedown"]);
|
|
7678
7678
|
function useHoverFloatingInteraction(context, parameters = {}) {
|
|
7679
|
-
const
|
|
7680
|
-
const open =
|
|
7681
|
-
const floatingElement =
|
|
7682
|
-
const domReferenceElement =
|
|
7679
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
7680
|
+
const open = store2.useState("open");
|
|
7681
|
+
const floatingElement = store2.useState("floatingElement");
|
|
7682
|
+
const domReferenceElement = store2.useState("domReferenceElement");
|
|
7683
7683
|
const {
|
|
7684
7684
|
dataRef
|
|
7685
|
-
} =
|
|
7685
|
+
} = store2.context;
|
|
7686
7686
|
const {
|
|
7687
7687
|
enabled = true,
|
|
7688
7688
|
closeDelay: closeDelayProp = 0,
|
|
@@ -7697,7 +7697,7 @@ function useHoverFloatingInteraction(context, parameters = {}) {
|
|
|
7697
7697
|
restTimeoutPendingRef,
|
|
7698
7698
|
openChangeTimeout,
|
|
7699
7699
|
handleCloseOptionsRef
|
|
7700
|
-
} = useHoverInteractionSharedState(
|
|
7700
|
+
} = useHoverInteractionSharedState(store2);
|
|
7701
7701
|
const tree = useFloatingTree(externalTree);
|
|
7702
7702
|
const parentId = useFloatingParentNodeId();
|
|
7703
7703
|
const isClickLikeOpenEvent = useStableCallback(() => {
|
|
@@ -7714,12 +7714,12 @@ function useHoverFloatingInteraction(context, parameters = {}) {
|
|
|
7714
7714
|
const closeWithDelay = q$1((event, runElseBranch = true) => {
|
|
7715
7715
|
const closeDelay = getDelay(closeDelayProp, pointerTypeRef.current);
|
|
7716
7716
|
if (closeDelay && !handlerRef.current) {
|
|
7717
|
-
openChangeTimeout.start(closeDelay, () =>
|
|
7717
|
+
openChangeTimeout.start(closeDelay, () => store2.setOpen(false, createChangeEventDetails(triggerHover, event)));
|
|
7718
7718
|
} else if (runElseBranch) {
|
|
7719
7719
|
openChangeTimeout.clear();
|
|
7720
|
-
|
|
7720
|
+
store2.setOpen(false, createChangeEventDetails(triggerHover, event));
|
|
7721
7721
|
}
|
|
7722
|
-
}, [closeDelayProp, handlerRef,
|
|
7722
|
+
}, [closeDelayProp, handlerRef, store2, pointerTypeRef, openChangeTimeout]);
|
|
7723
7723
|
const cleanupMouseMoveHandler = useStableCallback(() => {
|
|
7724
7724
|
unbindMouseMoveRef.current();
|
|
7725
7725
|
handlerRef.current = void 0;
|
|
@@ -7794,7 +7794,7 @@ function useHoverFloatingInteraction(context, parameters = {}) {
|
|
|
7794
7794
|
if (!dataRef.current.floatingContext) {
|
|
7795
7795
|
return;
|
|
7796
7796
|
}
|
|
7797
|
-
const triggerElements =
|
|
7797
|
+
const triggerElements = store2.context.triggerElements;
|
|
7798
7798
|
if (event.relatedTarget && triggerElements.hasElement(event.relatedTarget)) {
|
|
7799
7799
|
return;
|
|
7800
7800
|
}
|
|
@@ -7853,11 +7853,11 @@ const EMPTY_REF = {
|
|
|
7853
7853
|
};
|
|
7854
7854
|
function useHoverReferenceInteraction(context, props = {}) {
|
|
7855
7855
|
var _a;
|
|
7856
|
-
const
|
|
7856
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
7857
7857
|
const {
|
|
7858
7858
|
dataRef,
|
|
7859
7859
|
events
|
|
7860
|
-
} =
|
|
7860
|
+
} = store2.context;
|
|
7861
7861
|
const {
|
|
7862
7862
|
enabled = true,
|
|
7863
7863
|
delay = 0,
|
|
@@ -7881,7 +7881,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7881
7881
|
openChangeTimeout,
|
|
7882
7882
|
restTimeout,
|
|
7883
7883
|
handleCloseOptionsRef
|
|
7884
|
-
} = useHoverInteractionSharedState(
|
|
7884
|
+
} = useHoverInteractionSharedState(store2);
|
|
7885
7885
|
const handleCloseRef = useValueAsRef(handleClose);
|
|
7886
7886
|
const delayRef = useValueAsRef(delay);
|
|
7887
7887
|
const restMsRef = useValueAsRef(restMs);
|
|
@@ -7897,19 +7897,19 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7897
7897
|
const closeWithDelay = q$1((event, runElseBranch = true) => {
|
|
7898
7898
|
const closeDelay = getDelay$1(delayRef.current, "close", pointerTypeRef.current);
|
|
7899
7899
|
if (closeDelay && !closeHandlerRef.current) {
|
|
7900
|
-
openChangeTimeout.start(closeDelay, () =>
|
|
7900
|
+
openChangeTimeout.start(closeDelay, () => store2.setOpen(false, createChangeEventDetails(triggerHover, event)));
|
|
7901
7901
|
} else if (runElseBranch) {
|
|
7902
7902
|
openChangeTimeout.clear();
|
|
7903
|
-
|
|
7903
|
+
store2.setOpen(false, createChangeEventDetails(triggerHover, event));
|
|
7904
7904
|
}
|
|
7905
|
-
}, [delayRef, closeHandlerRef,
|
|
7905
|
+
}, [delayRef, closeHandlerRef, store2, pointerTypeRef, openChangeTimeout]);
|
|
7906
7906
|
const cleanupMouseMoveHandler = useStableCallback(() => {
|
|
7907
7907
|
unbindMouseMoveRef.current();
|
|
7908
7908
|
closeHandlerRef.current = void 0;
|
|
7909
7909
|
});
|
|
7910
7910
|
const clearPointerEvents = useStableCallback(() => {
|
|
7911
7911
|
if (performedPointerEventsMutationRef.current) {
|
|
7912
|
-
const body = getDocument(
|
|
7912
|
+
const body = getDocument(store2.select("domReferenceElement")).body;
|
|
7913
7913
|
body.style.pointerEvents = "";
|
|
7914
7914
|
body.removeAttribute(safePolygonIdentifier);
|
|
7915
7915
|
performedPointerEventsMutationRef.current = false;
|
|
@@ -7940,7 +7940,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7940
7940
|
if (!dataRef.current.floatingContext) {
|
|
7941
7941
|
return;
|
|
7942
7942
|
}
|
|
7943
|
-
const triggerElements =
|
|
7943
|
+
const triggerElements = store2.context.triggerElements;
|
|
7944
7944
|
if (event.relatedTarget && triggerElements.hasElement(event.relatedTarget)) {
|
|
7945
7945
|
return;
|
|
7946
7946
|
}
|
|
@@ -7962,7 +7962,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7962
7962
|
if (!enabled) {
|
|
7963
7963
|
return void 0;
|
|
7964
7964
|
}
|
|
7965
|
-
const trigger = triggerElementRef.current ?? (isActiveTrigger ?
|
|
7965
|
+
const trigger = triggerElementRef.current ?? (isActiveTrigger ? store2.select("domReferenceElement") : null);
|
|
7966
7966
|
if (!isElement$1(trigger)) {
|
|
7967
7967
|
return void 0;
|
|
7968
7968
|
}
|
|
@@ -7976,18 +7976,18 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7976
7976
|
return;
|
|
7977
7977
|
}
|
|
7978
7978
|
const openDelay = getDelay$1(delayRef.current, "open", pointerTypeRef.current);
|
|
7979
|
-
const currentDomReference =
|
|
7980
|
-
const allTriggers =
|
|
7979
|
+
const currentDomReference = store2.select("domReferenceElement");
|
|
7980
|
+
const allTriggers = store2.context.triggerElements;
|
|
7981
7981
|
const isOverInactiveTrigger = (allTriggers.hasElement(event.target) || allTriggers.hasMatchingElement((t2) => contains(t2, event.target))) && (!currentDomReference || !contains(currentDomReference, event.target));
|
|
7982
7982
|
const triggerNode = event.currentTarget ?? null;
|
|
7983
7983
|
if (openDelay) {
|
|
7984
7984
|
openChangeTimeout.start(openDelay, () => {
|
|
7985
|
-
if (!
|
|
7986
|
-
|
|
7985
|
+
if (!store2.select("open")) {
|
|
7986
|
+
store2.setOpen(true, createChangeEventDetails(triggerHover, event, triggerNode));
|
|
7987
7987
|
}
|
|
7988
7988
|
});
|
|
7989
|
-
} else if (!
|
|
7990
|
-
|
|
7989
|
+
} else if (!store2.select("open") || isOverInactiveTrigger) {
|
|
7990
|
+
store2.setOpen(true, createChangeEventDetails(triggerHover, event, triggerNode));
|
|
7991
7991
|
}
|
|
7992
7992
|
}
|
|
7993
7993
|
function onMouseLeave(event) {
|
|
@@ -7996,16 +7996,16 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
7996
7996
|
return;
|
|
7997
7997
|
}
|
|
7998
7998
|
unbindMouseMoveRef.current();
|
|
7999
|
-
const domReferenceElement =
|
|
7999
|
+
const domReferenceElement = store2.select("domReferenceElement");
|
|
8000
8000
|
const doc = getDocument(domReferenceElement);
|
|
8001
8001
|
restTimeout.clear();
|
|
8002
8002
|
restTimeoutPendingRef.current = false;
|
|
8003
|
-
const triggerElements =
|
|
8003
|
+
const triggerElements = store2.context.triggerElements;
|
|
8004
8004
|
if (event.relatedTarget && triggerElements.hasElement(event.relatedTarget)) {
|
|
8005
8005
|
return;
|
|
8006
8006
|
}
|
|
8007
8007
|
if (handleCloseRef.current && dataRef.current.floatingContext) {
|
|
8008
|
-
if (!
|
|
8008
|
+
if (!store2.select("open")) {
|
|
8009
8009
|
openChangeTimeout.clear();
|
|
8010
8010
|
}
|
|
8011
8011
|
closeHandlerRef.current = handleCloseRef.current({
|
|
@@ -8029,7 +8029,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8029
8029
|
};
|
|
8030
8030
|
return;
|
|
8031
8031
|
}
|
|
8032
|
-
const shouldClose = pointerTypeRef.current === "touch" ? !contains(
|
|
8032
|
+
const shouldClose = pointerTypeRef.current === "touch" ? !contains(store2.select("floatingElement"), event.relatedTarget) : true;
|
|
8033
8033
|
if (shouldClose) {
|
|
8034
8034
|
closeWithDelay(event);
|
|
8035
8035
|
}
|
|
@@ -8037,7 +8037,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8037
8037
|
function onScrollMouseLeave(event) {
|
|
8038
8038
|
handleScrollMouseLeave(event);
|
|
8039
8039
|
}
|
|
8040
|
-
if (
|
|
8040
|
+
if (store2.select("open")) {
|
|
8041
8041
|
trigger.addEventListener("mouseleave", onScrollMouseLeave);
|
|
8042
8042
|
}
|
|
8043
8043
|
if (move) {
|
|
@@ -8055,7 +8055,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8055
8055
|
trigger.removeEventListener("mouseenter", onMouseEnter);
|
|
8056
8056
|
trigger.removeEventListener("mouseleave", onMouseLeave);
|
|
8057
8057
|
};
|
|
8058
|
-
}, [cleanupMouseMoveHandler, clearPointerEvents, blockMouseMoveRef, dataRef, delayRef, closeWithDelay,
|
|
8058
|
+
}, [cleanupMouseMoveHandler, clearPointerEvents, blockMouseMoveRef, dataRef, delayRef, closeWithDelay, store2, enabled, handleCloseRef, handleScrollMouseLeave, isActiveTrigger, isClickLikeOpenEvent, mouseOnly, move, pointerTypeRef, restMsRef, restTimeout, restTimeoutPendingRef, openChangeTimeout, triggerElementRef, tree, unbindMouseMoveRef, closeHandlerRef]);
|
|
8059
8059
|
return T$1(() => {
|
|
8060
8060
|
function setPointerRef(event) {
|
|
8061
8061
|
pointerTypeRef.current = event.pointerType;
|
|
@@ -8068,9 +8068,9 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8068
8068
|
nativeEvent
|
|
8069
8069
|
} = event;
|
|
8070
8070
|
const trigger = event.currentTarget;
|
|
8071
|
-
const currentDomReference =
|
|
8072
|
-
const allTriggers =
|
|
8073
|
-
const currentOpen =
|
|
8071
|
+
const currentDomReference = store2.select("domReferenceElement");
|
|
8072
|
+
const allTriggers = store2.context.triggerElements;
|
|
8073
|
+
const currentOpen = store2.select("open");
|
|
8074
8074
|
const isOverInactiveTrigger = (allTriggers.hasElement(event.target) || allTriggers.hasMatchingElement((t2) => contains(t2, event.target))) && (!currentDomReference || !contains(currentDomReference, event.target));
|
|
8075
8075
|
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {
|
|
8076
8076
|
return;
|
|
@@ -8084,7 +8084,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8084
8084
|
restTimeout.clear();
|
|
8085
8085
|
function handleMouseMove() {
|
|
8086
8086
|
if (!blockMouseMoveRef.current && (!currentOpen || isOverInactiveTrigger)) {
|
|
8087
|
-
|
|
8087
|
+
store2.setOpen(true, createChangeEventDetails(triggerHover, nativeEvent, trigger));
|
|
8088
8088
|
}
|
|
8089
8089
|
}
|
|
8090
8090
|
if (pointerTypeRef.current === "touch") {
|
|
@@ -8099,7 +8099,7 @@ function useHoverReferenceInteraction(context, props = {}) {
|
|
|
8099
8099
|
}
|
|
8100
8100
|
}
|
|
8101
8101
|
};
|
|
8102
|
-
}, [blockMouseMoveRef, mouseOnly,
|
|
8102
|
+
}, [blockMouseMoveRef, mouseOnly, store2, pointerTypeRef, restMsRef, restTimeout, restTimeoutPendingRef]);
|
|
8103
8103
|
}
|
|
8104
8104
|
function useInteractions(propsList = []) {
|
|
8105
8105
|
const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference);
|
|
@@ -8191,11 +8191,11 @@ function mutablyMergeProps(outputProps, props, isItem, eventHandlers) {
|
|
|
8191
8191
|
}
|
|
8192
8192
|
const componentRoleToAriaRoleMap = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]);
|
|
8193
8193
|
function useRole(context, props = {}) {
|
|
8194
|
-
const
|
|
8195
|
-
const open =
|
|
8196
|
-
const defaultFloatingId =
|
|
8197
|
-
const domReference =
|
|
8198
|
-
const floatingElement =
|
|
8194
|
+
const store2 = "rootStore" in context ? context.rootStore : context;
|
|
8195
|
+
const open = store2.useState("open");
|
|
8196
|
+
const defaultFloatingId = store2.useState("floatingId");
|
|
8197
|
+
const domReference = store2.useState("domReferenceElement");
|
|
8198
|
+
const floatingElement = store2.useState("floatingElement");
|
|
8199
8199
|
const {
|
|
8200
8200
|
enabled = true,
|
|
8201
8201
|
role = "dialog"
|
|
@@ -8473,9 +8473,9 @@ function safePolygon(options = {}) {
|
|
|
8473
8473
|
const PopoverRootContext = /* @__PURE__ */ R$2(void 0);
|
|
8474
8474
|
if (process.env.NODE_ENV !== "production")
|
|
8475
8475
|
PopoverRootContext.displayName = "PopoverRootContext";
|
|
8476
|
-
function usePopoverRootContext(
|
|
8476
|
+
function usePopoverRootContext(optional) {
|
|
8477
8477
|
const context = x$1(PopoverRootContext);
|
|
8478
|
-
if (context === void 0 && !
|
|
8478
|
+
if (context === void 0 && !optional) {
|
|
8479
8479
|
throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: PopoverRootContext is missing. Popover parts must be placed within <Popover.Root>." : formatErrorMessage(47));
|
|
8480
8480
|
}
|
|
8481
8481
|
return context;
|
|
@@ -8585,11 +8585,11 @@ class PopoverStore extends ReactStore {
|
|
|
8585
8585
|
});
|
|
8586
8586
|
}
|
|
8587
8587
|
static useStore(externalStore, initialState) {
|
|
8588
|
-
const
|
|
8588
|
+
const store2 = useRefWithInit(() => {
|
|
8589
8589
|
return externalStore ?? new PopoverStore(initialState);
|
|
8590
8590
|
}).current;
|
|
8591
|
-
useOnMount(
|
|
8592
|
-
return
|
|
8591
|
+
useOnMount(store2.disposeEffect);
|
|
8592
|
+
return store2;
|
|
8593
8593
|
}
|
|
8594
8594
|
}
|
|
8595
8595
|
function useEnhancedClickHandler(handler) {
|
|
@@ -8654,29 +8654,29 @@ function PopoverRootComponent({
|
|
|
8654
8654
|
triggerId: triggerIdProp,
|
|
8655
8655
|
defaultTriggerId: defaultTriggerIdProp = null
|
|
8656
8656
|
} = props;
|
|
8657
|
-
const
|
|
8657
|
+
const store2 = PopoverStore.useStore(handle == null ? void 0 : handle.store, {
|
|
8658
8658
|
open: openProp ?? defaultOpenProp,
|
|
8659
8659
|
modal,
|
|
8660
8660
|
activeTriggerId: triggerIdProp !== void 0 ? triggerIdProp : defaultTriggerIdProp
|
|
8661
8661
|
});
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
const open =
|
|
8665
|
-
const positionerElement =
|
|
8666
|
-
const payload =
|
|
8667
|
-
const openReason =
|
|
8668
|
-
|
|
8669
|
-
|
|
8662
|
+
store2.useControlledProp("open", openProp, defaultOpenProp);
|
|
8663
|
+
store2.useControlledProp("activeTriggerId", triggerIdProp, defaultTriggerIdProp);
|
|
8664
|
+
const open = store2.useState("open");
|
|
8665
|
+
const positionerElement = store2.useState("positionerElement");
|
|
8666
|
+
const payload = store2.useState("payload");
|
|
8667
|
+
const openReason = store2.useState("openChangeReason");
|
|
8668
|
+
store2.useContextCallback("onOpenChange", onOpenChange);
|
|
8669
|
+
store2.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
|
|
8670
8670
|
const {
|
|
8671
8671
|
openMethod,
|
|
8672
8672
|
triggerProps: interactionTypeTriggerProps,
|
|
8673
8673
|
reset: resetOpenInteractionType
|
|
8674
8674
|
} = useOpenInteractionType(open);
|
|
8675
|
-
useImplicitActiveTrigger(
|
|
8675
|
+
useImplicitActiveTrigger(store2);
|
|
8676
8676
|
const {
|
|
8677
8677
|
forceUnmount
|
|
8678
|
-
} = useOpenStateTransitions(open,
|
|
8679
|
-
|
|
8678
|
+
} = useOpenStateTransitions(open, store2, () => {
|
|
8679
|
+
store2.update({
|
|
8680
8680
|
stickIfOpen: true,
|
|
8681
8681
|
openChangeReason: null
|
|
8682
8682
|
});
|
|
@@ -8685,26 +8685,26 @@ function PopoverRootComponent({
|
|
|
8685
8685
|
useScrollLock(open && modal === true && openReason !== triggerHover && openMethod !== "touch", positionerElement);
|
|
8686
8686
|
y$1(() => {
|
|
8687
8687
|
if (!open) {
|
|
8688
|
-
|
|
8688
|
+
store2.context.stickIfOpenTimeout.clear();
|
|
8689
8689
|
}
|
|
8690
|
-
}, [
|
|
8690
|
+
}, [store2, open]);
|
|
8691
8691
|
const createPopoverEventDetails = q$1((reason) => {
|
|
8692
8692
|
const details = createChangeEventDetails(reason);
|
|
8693
8693
|
details.preventUnmountOnClose = () => {
|
|
8694
|
-
|
|
8694
|
+
store2.set("preventUnmountingOnClose", true);
|
|
8695
8695
|
};
|
|
8696
8696
|
return details;
|
|
8697
|
-
}, [
|
|
8697
|
+
}, [store2]);
|
|
8698
8698
|
const handleImperativeClose = q$1(() => {
|
|
8699
|
-
|
|
8700
|
-
}, [
|
|
8699
|
+
store2.setOpen(false, createPopoverEventDetails(imperativeAction));
|
|
8700
|
+
}, [store2, createPopoverEventDetails]);
|
|
8701
8701
|
F$1(props.actionsRef, () => ({
|
|
8702
8702
|
unmount: forceUnmount,
|
|
8703
8703
|
close: handleImperativeClose
|
|
8704
8704
|
}), [forceUnmount, handleImperativeClose]);
|
|
8705
8705
|
const floatingRootContext = useSyncedFloatingRootContext({
|
|
8706
|
-
popupStore:
|
|
8707
|
-
onOpenChange:
|
|
8706
|
+
popupStore: store2,
|
|
8707
|
+
onOpenChange: store2.setOpen
|
|
8708
8708
|
});
|
|
8709
8709
|
const dismiss = useDismiss(floatingRootContext, {
|
|
8710
8710
|
outsidePressEvent: {
|
|
@@ -8729,7 +8729,7 @@ function PopoverRootComponent({
|
|
|
8729
8729
|
const popupProps = T$1(() => {
|
|
8730
8730
|
return getFloatingProps();
|
|
8731
8731
|
}, [getFloatingProps]);
|
|
8732
|
-
|
|
8732
|
+
store2.useSyncedValues({
|
|
8733
8733
|
modal,
|
|
8734
8734
|
openMethod,
|
|
8735
8735
|
activeTriggerProps,
|
|
@@ -8739,8 +8739,8 @@ function PopoverRootComponent({
|
|
|
8739
8739
|
nested: useFloatingParentNodeId() != null
|
|
8740
8740
|
});
|
|
8741
8741
|
const popoverContext = T$1(() => ({
|
|
8742
|
-
store:
|
|
8743
|
-
}), [
|
|
8742
|
+
store: store2
|
|
8743
|
+
}), [store2]);
|
|
8744
8744
|
return /* @__PURE__ */ u$2(PopoverRootContext.Provider, {
|
|
8745
8745
|
value: popoverContext,
|
|
8746
8746
|
children: typeof children === "function" ? children({
|
|
@@ -8776,9 +8776,9 @@ function error(...messages) {
|
|
|
8776
8776
|
const CompositeRootContext = /* @__PURE__ */ R$2(void 0);
|
|
8777
8777
|
if (process.env.NODE_ENV !== "production")
|
|
8778
8778
|
CompositeRootContext.displayName = "CompositeRootContext";
|
|
8779
|
-
function useCompositeRootContext(
|
|
8779
|
+
function useCompositeRootContext(optional = false) {
|
|
8780
8780
|
const context = x$1(CompositeRootContext);
|
|
8781
|
-
if (context === void 0 && !
|
|
8781
|
+
if (context === void 0 && !optional) {
|
|
8782
8782
|
throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage(16));
|
|
8783
8783
|
}
|
|
8784
8784
|
return context;
|
|
@@ -9046,27 +9046,27 @@ const PopoverTrigger = /* @__PURE__ */ D(function PopoverTrigger2(componentProps
|
|
|
9046
9046
|
...elementProps
|
|
9047
9047
|
} = componentProps;
|
|
9048
9048
|
const rootContext = usePopoverRootContext(true);
|
|
9049
|
-
const
|
|
9050
|
-
if (!
|
|
9049
|
+
const store2 = (handle == null ? void 0 : handle.store) ?? (rootContext == null ? void 0 : rootContext.store);
|
|
9050
|
+
if (!store2) {
|
|
9051
9051
|
throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Popover.Trigger> must be either used within a <Popover.Root> component or provided with a handle." : formatErrorMessage(74));
|
|
9052
9052
|
}
|
|
9053
9053
|
const thisTriggerId = useBaseUiId(idProp);
|
|
9054
|
-
const isTriggerActive =
|
|
9055
|
-
const floatingContext =
|
|
9056
|
-
const isOpenedByThisTrigger =
|
|
9054
|
+
const isTriggerActive = store2.useState("isTriggerActive", thisTriggerId);
|
|
9055
|
+
const floatingContext = store2.useState("floatingRootContext");
|
|
9056
|
+
const isOpenedByThisTrigger = store2.useState("isOpenedByTrigger", thisTriggerId);
|
|
9057
9057
|
const triggerElementRef = A$1(null);
|
|
9058
9058
|
const {
|
|
9059
9059
|
registerTrigger,
|
|
9060
9060
|
isMountedByThisTrigger
|
|
9061
|
-
} = useTriggerDataForwarding(thisTriggerId, triggerElementRef,
|
|
9061
|
+
} = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store2, {
|
|
9062
9062
|
payload,
|
|
9063
9063
|
disabled,
|
|
9064
9064
|
openOnHover,
|
|
9065
9065
|
closeDelay
|
|
9066
9066
|
});
|
|
9067
|
-
const openReason =
|
|
9068
|
-
const stickIfOpen =
|
|
9069
|
-
const openMethod =
|
|
9067
|
+
const openReason = store2.useState("openChangeReason");
|
|
9068
|
+
const stickIfOpen = store2.useState("stickIfOpen");
|
|
9069
|
+
const openMethod = store2.useState("openMethod");
|
|
9070
9070
|
const hoverProps = useHoverReferenceInteraction(floatingContext, {
|
|
9071
9071
|
enabled: floatingContext != null && openOnHover && (openMethod !== "touch" || openReason !== triggerPress),
|
|
9072
9072
|
mouseOnly: true,
|
|
@@ -9084,7 +9084,7 @@ const PopoverTrigger = /* @__PURE__ */ D(function PopoverTrigger2(componentProps
|
|
|
9084
9084
|
stickIfOpen
|
|
9085
9085
|
});
|
|
9086
9086
|
const localProps = useInteractions([click]);
|
|
9087
|
-
const rootTriggerProps =
|
|
9087
|
+
const rootTriggerProps = store2.useState("triggerProps", isMountedByThisTrigger);
|
|
9088
9088
|
const state = T$1(() => ({
|
|
9089
9089
|
disabled,
|
|
9090
9090
|
open: isOpenedByThisTrigger
|
|
@@ -9116,19 +9116,19 @@ const PopoverTrigger = /* @__PURE__ */ D(function PopoverTrigger2(componentProps
|
|
|
9116
9116
|
const preFocusGuardRef = A$1(null);
|
|
9117
9117
|
const handlePreFocusGuardFocus = useStableCallback((event) => {
|
|
9118
9118
|
En(() => {
|
|
9119
|
-
|
|
9119
|
+
store2.setOpen(false, createChangeEventDetails(focusOut, event.nativeEvent, event.currentTarget));
|
|
9120
9120
|
});
|
|
9121
9121
|
const previousTabbable = getTabbableBeforeElement(preFocusGuardRef.current);
|
|
9122
9122
|
previousTabbable == null ? void 0 : previousTabbable.focus();
|
|
9123
9123
|
});
|
|
9124
9124
|
const handleFocusTargetFocus = useStableCallback((event) => {
|
|
9125
9125
|
var _a;
|
|
9126
|
-
const positionerElement =
|
|
9126
|
+
const positionerElement = store2.select("positionerElement");
|
|
9127
9127
|
if (positionerElement && isOutsideEvent(event, positionerElement)) {
|
|
9128
|
-
(_a =
|
|
9128
|
+
(_a = store2.context.beforeContentFocusGuardRef.current) == null ? void 0 : _a.focus();
|
|
9129
9129
|
} else {
|
|
9130
9130
|
En(() => {
|
|
9131
|
-
|
|
9131
|
+
store2.setOpen(false, createChangeEventDetails(focusOut, event.nativeEvent, event.currentTarget));
|
|
9132
9132
|
});
|
|
9133
9133
|
let nextTabbable = getTabbableAfterElement(triggerElementRef.current);
|
|
9134
9134
|
while (nextTabbable !== null && contains(positionerElement, nextTabbable) || (nextTabbable == null ? void 0 : nextTabbable.hasAttribute("aria-hidden"))) {
|
|
@@ -9149,7 +9149,7 @@ const PopoverTrigger = /* @__PURE__ */ D(function PopoverTrigger2(componentProps
|
|
|
9149
9149
|
}), /* @__PURE__ */ u$2(k$3, {
|
|
9150
9150
|
children: element
|
|
9151
9151
|
}, thisTriggerId), /* @__PURE__ */ u$2(FocusGuard, {
|
|
9152
|
-
ref:
|
|
9152
|
+
ref: store2.context.triggerFocusTargetRef,
|
|
9153
9153
|
onFocus: handleFocusTargetFocus
|
|
9154
9154
|
})]
|
|
9155
9155
|
});
|
|
@@ -9176,9 +9176,9 @@ const PopoverPortal = /* @__PURE__ */ D(function PopoverPortal2(props, forwarded
|
|
|
9176
9176
|
...portalProps
|
|
9177
9177
|
} = props;
|
|
9178
9178
|
const {
|
|
9179
|
-
store:
|
|
9179
|
+
store: store2
|
|
9180
9180
|
} = usePopoverRootContext();
|
|
9181
|
-
const mounted =
|
|
9181
|
+
const mounted = store2.useState("mounted");
|
|
9182
9182
|
const shouldRender = mounted || keepMounted;
|
|
9183
9183
|
if (!shouldRender) {
|
|
9184
9184
|
return null;
|
|
@@ -9781,19 +9781,19 @@ const PopoverPositioner = /* @__PURE__ */ D(function PopoverPositioner2(componen
|
|
|
9781
9781
|
...elementProps
|
|
9782
9782
|
} = componentProps;
|
|
9783
9783
|
const {
|
|
9784
|
-
store:
|
|
9784
|
+
store: store2
|
|
9785
9785
|
} = usePopoverRootContext();
|
|
9786
9786
|
const keepMounted = usePopoverPortalContext();
|
|
9787
9787
|
const nodeId = useFloatingNodeId();
|
|
9788
|
-
const floatingRootContext =
|
|
9789
|
-
const mounted =
|
|
9790
|
-
const open =
|
|
9791
|
-
const openReason =
|
|
9792
|
-
const triggerElement =
|
|
9793
|
-
const modal =
|
|
9794
|
-
const positionerElement =
|
|
9795
|
-
const instantType =
|
|
9796
|
-
const transitionStatus =
|
|
9788
|
+
const floatingRootContext = store2.useState("floatingRootContext");
|
|
9789
|
+
const mounted = store2.useState("mounted");
|
|
9790
|
+
const open = store2.useState("open");
|
|
9791
|
+
const openReason = store2.useState("openChangeReason");
|
|
9792
|
+
const triggerElement = store2.useState("activeTriggerElement");
|
|
9793
|
+
const modal = store2.useState("modal");
|
|
9794
|
+
const positionerElement = store2.useState("positionerElement");
|
|
9795
|
+
const instantType = store2.useState("instantType");
|
|
9796
|
+
const transitionStatus = store2.useState("transitionStatus");
|
|
9797
9797
|
const prevTriggerElementRef = A$1(null);
|
|
9798
9798
|
const runOnceAnimationsFinish = useAnimationsFinished(positionerElement, false, false);
|
|
9799
9799
|
const positioning = useAnchorPositioning({
|
|
@@ -9841,17 +9841,17 @@ const PopoverPositioner = /* @__PURE__ */ D(function PopoverPositioner2(componen
|
|
|
9841
9841
|
prevTriggerElementRef.current = currentTriggerElement;
|
|
9842
9842
|
}
|
|
9843
9843
|
if (prevTriggerElement && currentTriggerElement && currentTriggerElement !== prevTriggerElement) {
|
|
9844
|
-
|
|
9844
|
+
store2.set("instantType", void 0);
|
|
9845
9845
|
const ac = new AbortController();
|
|
9846
9846
|
runOnceAnimationsFinish(() => {
|
|
9847
|
-
|
|
9847
|
+
store2.set("instantType", "trigger-change");
|
|
9848
9848
|
}, ac.signal);
|
|
9849
9849
|
return () => {
|
|
9850
9850
|
ac.abort();
|
|
9851
9851
|
};
|
|
9852
9852
|
}
|
|
9853
9853
|
return void 0;
|
|
9854
|
-
}, [domReference, runOnceAnimationsFinish,
|
|
9854
|
+
}, [domReference, runOnceAnimationsFinish, store2]);
|
|
9855
9855
|
const state = T$1(() => ({
|
|
9856
9856
|
open,
|
|
9857
9857
|
side: positioner.side,
|
|
@@ -9860,8 +9860,8 @@ const PopoverPositioner = /* @__PURE__ */ D(function PopoverPositioner2(componen
|
|
|
9860
9860
|
instant: instantType
|
|
9861
9861
|
}), [open, positioner.side, positioner.align, positioner.anchorHidden, instantType]);
|
|
9862
9862
|
const setPositionerElement = q$1((element2) => {
|
|
9863
|
-
|
|
9864
|
-
}, [
|
|
9863
|
+
store2.set("positionerElement", element2);
|
|
9864
|
+
}, [store2]);
|
|
9865
9865
|
const element = useRenderElement("div", componentProps, {
|
|
9866
9866
|
state,
|
|
9867
9867
|
props: [positioner.props, getDisabledMountTransitionStyles(transitionStatus), elementProps],
|
|
@@ -9871,7 +9871,7 @@ const PopoverPositioner = /* @__PURE__ */ D(function PopoverPositioner2(componen
|
|
|
9871
9871
|
return /* @__PURE__ */ u$2(PopoverPositionerContext.Provider, {
|
|
9872
9872
|
value: positioner,
|
|
9873
9873
|
children: [mounted && modal === true && openReason !== triggerHover && /* @__PURE__ */ u$2(InternalBackdrop, {
|
|
9874
|
-
ref:
|
|
9874
|
+
ref: store2.context.internalBackdropRef,
|
|
9875
9875
|
inert: inertValue(!open),
|
|
9876
9876
|
cutout: triggerElement
|
|
9877
9877
|
}), /* @__PURE__ */ u$2(FloatingNode, {
|
|
@@ -10038,9 +10038,9 @@ const COMPOSITE_KEYS = /* @__PURE__ */ new Set([ARROW_UP, ARROW_DOWN, ARROW_LEFT
|
|
|
10038
10038
|
const ToolbarRootContext = /* @__PURE__ */ R$2(void 0);
|
|
10039
10039
|
if (process.env.NODE_ENV !== "production")
|
|
10040
10040
|
ToolbarRootContext.displayName = "ToolbarRootContext";
|
|
10041
|
-
function useToolbarRootContext(
|
|
10041
|
+
function useToolbarRootContext(optional) {
|
|
10042
10042
|
const context = x$1(ToolbarRootContext);
|
|
10043
|
-
if (context === void 0 && !
|
|
10043
|
+
if (context === void 0 && !optional) {
|
|
10044
10044
|
throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>." : formatErrorMessage(69));
|
|
10045
10045
|
}
|
|
10046
10046
|
return context;
|
|
@@ -10058,46 +10058,46 @@ const PopoverPopup = /* @__PURE__ */ D(function PopoverPopup2(componentProps, fo
|
|
|
10058
10058
|
...elementProps
|
|
10059
10059
|
} = componentProps;
|
|
10060
10060
|
const {
|
|
10061
|
-
store:
|
|
10061
|
+
store: store2
|
|
10062
10062
|
} = usePopoverRootContext();
|
|
10063
10063
|
const positioner = usePopoverPositionerContext();
|
|
10064
10064
|
const insideToolbar = useToolbarRootContext(true) != null;
|
|
10065
10065
|
const direction = useDirection();
|
|
10066
|
-
const open =
|
|
10067
|
-
const openMethod =
|
|
10068
|
-
const instantType =
|
|
10069
|
-
const transitionStatus =
|
|
10070
|
-
const popupProps =
|
|
10071
|
-
const titleId =
|
|
10072
|
-
const descriptionId =
|
|
10073
|
-
const modal =
|
|
10074
|
-
const mounted =
|
|
10075
|
-
const openReason =
|
|
10076
|
-
const popupElement =
|
|
10077
|
-
const payload =
|
|
10078
|
-
const positionerElement =
|
|
10079
|
-
const activeTriggerElement =
|
|
10080
|
-
const floatingContext =
|
|
10066
|
+
const open = store2.useState("open");
|
|
10067
|
+
const openMethod = store2.useState("openMethod");
|
|
10068
|
+
const instantType = store2.useState("instantType");
|
|
10069
|
+
const transitionStatus = store2.useState("transitionStatus");
|
|
10070
|
+
const popupProps = store2.useState("popupProps");
|
|
10071
|
+
const titleId = store2.useState("titleElementId");
|
|
10072
|
+
const descriptionId = store2.useState("descriptionElementId");
|
|
10073
|
+
const modal = store2.useState("modal");
|
|
10074
|
+
const mounted = store2.useState("mounted");
|
|
10075
|
+
const openReason = store2.useState("openChangeReason");
|
|
10076
|
+
const popupElement = store2.useState("popupElement");
|
|
10077
|
+
const payload = store2.useState("payload");
|
|
10078
|
+
const positionerElement = store2.useState("positionerElement");
|
|
10079
|
+
const activeTriggerElement = store2.useState("activeTriggerElement");
|
|
10080
|
+
const floatingContext = store2.useState("floatingRootContext");
|
|
10081
10081
|
useOpenChangeComplete({
|
|
10082
10082
|
open,
|
|
10083
|
-
ref:
|
|
10083
|
+
ref: store2.context.popupRef,
|
|
10084
10084
|
onComplete() {
|
|
10085
10085
|
var _a, _b;
|
|
10086
10086
|
if (open) {
|
|
10087
|
-
(_b = (_a =
|
|
10087
|
+
(_b = (_a = store2.context).onOpenChangeComplete) == null ? void 0 : _b.call(_a, true);
|
|
10088
10088
|
}
|
|
10089
10089
|
}
|
|
10090
10090
|
});
|
|
10091
|
-
const disabled =
|
|
10092
|
-
const openOnHover =
|
|
10093
|
-
const closeDelay =
|
|
10091
|
+
const disabled = store2.useState("disabled");
|
|
10092
|
+
const openOnHover = store2.useState("openOnHover");
|
|
10093
|
+
const closeDelay = store2.useState("closeDelay");
|
|
10094
10094
|
useHoverFloatingInteraction(floatingContext, {
|
|
10095
10095
|
enabled: openOnHover && !disabled,
|
|
10096
10096
|
closeDelay
|
|
10097
10097
|
});
|
|
10098
10098
|
function defaultInitialFocus(interactionType) {
|
|
10099
10099
|
if (interactionType === "touch") {
|
|
10100
|
-
return
|
|
10100
|
+
return store2.context.popupRef.current;
|
|
10101
10101
|
}
|
|
10102
10102
|
return true;
|
|
10103
10103
|
}
|
|
@@ -10110,8 +10110,8 @@ const PopoverPopup = /* @__PURE__ */ D(function PopoverPopup2(componentProps, fo
|
|
|
10110
10110
|
transitionStatus
|
|
10111
10111
|
}), [open, positioner.side, positioner.align, instantType, transitionStatus]);
|
|
10112
10112
|
const setPopupElement = q$1((element2) => {
|
|
10113
|
-
|
|
10114
|
-
}, [
|
|
10113
|
+
store2.set("popupElement", element2);
|
|
10114
|
+
}, [store2]);
|
|
10115
10115
|
function handleMeasureLayout() {
|
|
10116
10116
|
floatingContext.context.events.emit("measure-layout");
|
|
10117
10117
|
}
|
|
@@ -10121,7 +10121,7 @@ const PopoverPopup = /* @__PURE__ */ D(function PopoverPopup2(componentProps, fo
|
|
|
10121
10121
|
nextDimensions
|
|
10122
10122
|
});
|
|
10123
10123
|
}
|
|
10124
|
-
const autoresizeEnabled = q$1(() =>
|
|
10124
|
+
const autoresizeEnabled = q$1(() => store2.context.triggerElements.size > 1, [store2]);
|
|
10125
10125
|
usePopupAutoResize({
|
|
10126
10126
|
popupElement,
|
|
10127
10127
|
positionerElement,
|
|
@@ -10135,7 +10135,7 @@ const PopoverPopup = /* @__PURE__ */ D(function PopoverPopup2(componentProps, fo
|
|
|
10135
10135
|
});
|
|
10136
10136
|
const element = useRenderElement("div", componentProps, {
|
|
10137
10137
|
state,
|
|
10138
|
-
ref: [forwardedRef,
|
|
10138
|
+
ref: [forwardedRef, store2.context.popupRef, setPopupElement],
|
|
10139
10139
|
props: [popupProps, {
|
|
10140
10140
|
"aria-labelledby": titleId,
|
|
10141
10141
|
"aria-describedby": descriptionId,
|
|
@@ -10156,8 +10156,8 @@ const PopoverPopup = /* @__PURE__ */ D(function PopoverPopup2(componentProps, fo
|
|
|
10156
10156
|
returnFocus: finalFocus,
|
|
10157
10157
|
restoreFocus: "popup",
|
|
10158
10158
|
previousFocusableElement: isHTMLElement$1(activeTriggerElement) ? activeTriggerElement : void 0,
|
|
10159
|
-
nextFocusableElement:
|
|
10160
|
-
beforeContentFocusGuardRef:
|
|
10159
|
+
nextFocusableElement: store2.context.triggerFocusTargetRef,
|
|
10160
|
+
beforeContentFocusGuardRef: store2.context.beforeContentFocusGuardRef,
|
|
10161
10161
|
children: element
|
|
10162
10162
|
});
|
|
10163
10163
|
});
|
|
@@ -10184,7 +10184,6 @@ function clsx() {
|
|
|
10184
10184
|
}
|
|
10185
10185
|
const JOB_ALERTS_ELEMENT_ID = "inploi-job-alerts";
|
|
10186
10186
|
const JOB_ALERTS_SCOPE_ELEMENT_ID = "ija";
|
|
10187
|
-
const FREQUENCIES = ["DAILY", "WEEKLY", "MONTHLY"];
|
|
10188
10187
|
var FALLBACK_PLURAL_ORDER = ["other", "few", "many", "two", "one", "zero"];
|
|
10189
10188
|
var createTranslateFunction = ({
|
|
10190
10189
|
terms,
|
|
@@ -10256,7 +10255,9 @@ const defaultTerms = {
|
|
|
10256
10255
|
frequency: "Frequency",
|
|
10257
10256
|
create_alert: "Create Alert",
|
|
10258
10257
|
create_alert_error: "Failed to create alert. Please try again later.",
|
|
10259
|
-
privacy_policy_link: "How we use your personal data"
|
|
10258
|
+
privacy_policy_link: "How we use your personal data",
|
|
10259
|
+
alert_notice_sender: "{{company}} will email you new jobs matching this search, as often as you choose. Every email has an unsubscribe link.",
|
|
10260
|
+
alert_notice: "You'll get new jobs matching this search by email, as often as you choose. Every email has an unsubscribe link."
|
|
10260
10261
|
};
|
|
10261
10262
|
const { TranslationProvider, useTranslation, createTFunction } = createTranslation(defaultTerms);
|
|
10262
10263
|
var i = Symbol.for("preact-signals");
|
|
@@ -10809,626 +10810,10 @@ function useSignal(i2) {
|
|
|
10809
10810
|
return d$1(i2);
|
|
10810
10811
|
}, []);
|
|
10811
10812
|
}
|
|
10812
|
-
const store
|
|
10813
|
+
const store = {
|
|
10813
10814
|
config$: d$1({ headerText: "", label: "" }),
|
|
10814
10815
|
filters$: d$1({})
|
|
10815
10816
|
};
|
|
10816
|
-
var store;
|
|
10817
|
-
// @__NO_SIDE_EFFECTS__
|
|
10818
|
-
function getGlobalConfig(config2) {
|
|
10819
|
-
return {
|
|
10820
|
-
lang: (config2 == null ? void 0 : config2.lang) ?? (store == null ? void 0 : store.lang),
|
|
10821
|
-
message: config2 == null ? void 0 : config2.message,
|
|
10822
|
-
abortEarly: (config2 == null ? void 0 : config2.abortEarly) ?? (store == null ? void 0 : store.abortEarly),
|
|
10823
|
-
abortPipeEarly: (config2 == null ? void 0 : config2.abortPipeEarly) ?? (store == null ? void 0 : store.abortPipeEarly)
|
|
10824
|
-
};
|
|
10825
|
-
}
|
|
10826
|
-
var store2;
|
|
10827
|
-
// @__NO_SIDE_EFFECTS__
|
|
10828
|
-
function getGlobalMessage(lang) {
|
|
10829
|
-
return store2 == null ? void 0 : store2.get(lang);
|
|
10830
|
-
}
|
|
10831
|
-
var store3;
|
|
10832
|
-
// @__NO_SIDE_EFFECTS__
|
|
10833
|
-
function getSchemaMessage(lang) {
|
|
10834
|
-
return store3 == null ? void 0 : store3.get(lang);
|
|
10835
|
-
}
|
|
10836
|
-
var store4;
|
|
10837
|
-
// @__NO_SIDE_EFFECTS__
|
|
10838
|
-
function getSpecificMessage(reference, lang) {
|
|
10839
|
-
var _a;
|
|
10840
|
-
return (_a = store4 == null ? void 0 : store4.get(reference)) == null ? void 0 : _a.get(lang);
|
|
10841
|
-
}
|
|
10842
|
-
// @__NO_SIDE_EFFECTS__
|
|
10843
|
-
function _stringify(input) {
|
|
10844
|
-
var _a, _b;
|
|
10845
|
-
const type = typeof input;
|
|
10846
|
-
if (type === "string") {
|
|
10847
|
-
return `"${input}"`;
|
|
10848
|
-
}
|
|
10849
|
-
if (type === "number" || type === "bigint" || type === "boolean") {
|
|
10850
|
-
return `${input}`;
|
|
10851
|
-
}
|
|
10852
|
-
if (type === "object" || type === "function") {
|
|
10853
|
-
return (input && ((_b = (_a = Object.getPrototypeOf(input)) == null ? void 0 : _a.constructor) == null ? void 0 : _b.name)) ?? "null";
|
|
10854
|
-
}
|
|
10855
|
-
return type;
|
|
10856
|
-
}
|
|
10857
|
-
function _addIssue(context, label, dataset, config2, other) {
|
|
10858
|
-
const input = other && "input" in other ? other.input : dataset.value;
|
|
10859
|
-
const expected = (other == null ? void 0 : other.expected) ?? context.expects ?? null;
|
|
10860
|
-
const received = (other == null ? void 0 : other.received) ?? /* @__PURE__ */ _stringify(input);
|
|
10861
|
-
const issue = {
|
|
10862
|
-
kind: context.kind,
|
|
10863
|
-
type: context.type,
|
|
10864
|
-
input,
|
|
10865
|
-
expected,
|
|
10866
|
-
received,
|
|
10867
|
-
message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : "R"}eceived ${received}`,
|
|
10868
|
-
requirement: context.requirement,
|
|
10869
|
-
path: other == null ? void 0 : other.path,
|
|
10870
|
-
issues: other == null ? void 0 : other.issues,
|
|
10871
|
-
lang: config2.lang,
|
|
10872
|
-
abortEarly: config2.abortEarly,
|
|
10873
|
-
abortPipeEarly: config2.abortPipeEarly
|
|
10874
|
-
};
|
|
10875
|
-
const isSchema = context.kind === "schema";
|
|
10876
|
-
const message2 = (other == null ? void 0 : other.message) ?? context.message ?? /* @__PURE__ */ getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? /* @__PURE__ */ getSchemaMessage(issue.lang) : null) ?? config2.message ?? /* @__PURE__ */ getGlobalMessage(issue.lang);
|
|
10877
|
-
if (message2 !== void 0) {
|
|
10878
|
-
issue.message = typeof message2 === "function" ? (
|
|
10879
|
-
// @ts-expect-error
|
|
10880
|
-
message2(issue)
|
|
10881
|
-
) : message2;
|
|
10882
|
-
}
|
|
10883
|
-
if (isSchema) {
|
|
10884
|
-
dataset.typed = false;
|
|
10885
|
-
}
|
|
10886
|
-
if (dataset.issues) {
|
|
10887
|
-
dataset.issues.push(issue);
|
|
10888
|
-
} else {
|
|
10889
|
-
dataset.issues = [issue];
|
|
10890
|
-
}
|
|
10891
|
-
}
|
|
10892
|
-
// @__NO_SIDE_EFFECTS__
|
|
10893
|
-
function _getStandardProps(context) {
|
|
10894
|
-
return {
|
|
10895
|
-
version: 1,
|
|
10896
|
-
vendor: "valibot",
|
|
10897
|
-
validate(value2) {
|
|
10898
|
-
return context["~run"]({ value: value2 }, /* @__PURE__ */ getGlobalConfig());
|
|
10899
|
-
}
|
|
10900
|
-
};
|
|
10901
|
-
}
|
|
10902
|
-
// @__NO_SIDE_EFFECTS__
|
|
10903
|
-
function _isValidObjectKey(object2, key) {
|
|
10904
|
-
return Object.hasOwn(object2, key) && key !== "__proto__" && key !== "prototype" && key !== "constructor";
|
|
10905
|
-
}
|
|
10906
|
-
// @__NO_SIDE_EFFECTS__
|
|
10907
|
-
function _joinExpects(values2, separator) {
|
|
10908
|
-
const list = [...new Set(values2)];
|
|
10909
|
-
if (list.length > 1) {
|
|
10910
|
-
return `(${list.join(` ${separator} `)})`;
|
|
10911
|
-
}
|
|
10912
|
-
return list[0] ?? "never";
|
|
10913
|
-
}
|
|
10914
|
-
var EMAIL_REGEX = /^[\w+-]+(?:\.[\w+-]+)*@[\da-z]+(?:[.-][\da-z]+)*\.[a-z]{2,}$/iu;
|
|
10915
|
-
// @__NO_SIDE_EFFECTS__
|
|
10916
|
-
function email(message2) {
|
|
10917
|
-
return {
|
|
10918
|
-
kind: "validation",
|
|
10919
|
-
type: "email",
|
|
10920
|
-
reference: email,
|
|
10921
|
-
expects: null,
|
|
10922
|
-
async: false,
|
|
10923
|
-
requirement: EMAIL_REGEX,
|
|
10924
|
-
message: message2,
|
|
10925
|
-
"~run"(dataset, config2) {
|
|
10926
|
-
if (dataset.typed && !this.requirement.test(dataset.value)) {
|
|
10927
|
-
_addIssue(this, "email", dataset, config2);
|
|
10928
|
-
}
|
|
10929
|
-
return dataset;
|
|
10930
|
-
}
|
|
10931
|
-
};
|
|
10932
|
-
}
|
|
10933
|
-
// @__NO_SIDE_EFFECTS__
|
|
10934
|
-
function getFallback(schema, dataset, config2) {
|
|
10935
|
-
return typeof schema.fallback === "function" ? (
|
|
10936
|
-
// @ts-expect-error
|
|
10937
|
-
schema.fallback(dataset, config2)
|
|
10938
|
-
) : (
|
|
10939
|
-
// @ts-expect-error
|
|
10940
|
-
schema.fallback
|
|
10941
|
-
);
|
|
10942
|
-
}
|
|
10943
|
-
// @__NO_SIDE_EFFECTS__
|
|
10944
|
-
function getDefault(schema, dataset, config2) {
|
|
10945
|
-
return typeof schema.default === "function" ? (
|
|
10946
|
-
// @ts-expect-error
|
|
10947
|
-
schema.default(dataset, config2)
|
|
10948
|
-
) : (
|
|
10949
|
-
// @ts-expect-error
|
|
10950
|
-
schema.default
|
|
10951
|
-
);
|
|
10952
|
-
}
|
|
10953
|
-
// @__NO_SIDE_EFFECTS__
|
|
10954
|
-
function array(item, message2) {
|
|
10955
|
-
return {
|
|
10956
|
-
kind: "schema",
|
|
10957
|
-
type: "array",
|
|
10958
|
-
reference: array,
|
|
10959
|
-
expects: "Array",
|
|
10960
|
-
async: false,
|
|
10961
|
-
item,
|
|
10962
|
-
message: message2,
|
|
10963
|
-
get "~standard"() {
|
|
10964
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
10965
|
-
},
|
|
10966
|
-
"~run"(dataset, config2) {
|
|
10967
|
-
var _a;
|
|
10968
|
-
const input = dataset.value;
|
|
10969
|
-
if (Array.isArray(input)) {
|
|
10970
|
-
dataset.typed = true;
|
|
10971
|
-
dataset.value = [];
|
|
10972
|
-
for (let key = 0; key < input.length; key++) {
|
|
10973
|
-
const value2 = input[key];
|
|
10974
|
-
const itemDataset = this.item["~run"]({ value: value2 }, config2);
|
|
10975
|
-
if (itemDataset.issues) {
|
|
10976
|
-
const pathItem = {
|
|
10977
|
-
type: "array",
|
|
10978
|
-
origin: "value",
|
|
10979
|
-
input,
|
|
10980
|
-
key,
|
|
10981
|
-
value: value2
|
|
10982
|
-
};
|
|
10983
|
-
for (const issue of itemDataset.issues) {
|
|
10984
|
-
if (issue.path) {
|
|
10985
|
-
issue.path.unshift(pathItem);
|
|
10986
|
-
} else {
|
|
10987
|
-
issue.path = [pathItem];
|
|
10988
|
-
}
|
|
10989
|
-
(_a = dataset.issues) == null ? void 0 : _a.push(issue);
|
|
10990
|
-
}
|
|
10991
|
-
if (!dataset.issues) {
|
|
10992
|
-
dataset.issues = itemDataset.issues;
|
|
10993
|
-
}
|
|
10994
|
-
if (config2.abortEarly) {
|
|
10995
|
-
dataset.typed = false;
|
|
10996
|
-
break;
|
|
10997
|
-
}
|
|
10998
|
-
}
|
|
10999
|
-
if (!itemDataset.typed) {
|
|
11000
|
-
dataset.typed = false;
|
|
11001
|
-
}
|
|
11002
|
-
dataset.value.push(itemDataset.value);
|
|
11003
|
-
}
|
|
11004
|
-
} else {
|
|
11005
|
-
_addIssue(this, "type", dataset, config2);
|
|
11006
|
-
}
|
|
11007
|
-
return dataset;
|
|
11008
|
-
}
|
|
11009
|
-
};
|
|
11010
|
-
}
|
|
11011
|
-
// @__NO_SIDE_EFFECTS__
|
|
11012
|
-
function literal(literal_, message2) {
|
|
11013
|
-
return {
|
|
11014
|
-
kind: "schema",
|
|
11015
|
-
type: "literal",
|
|
11016
|
-
reference: literal,
|
|
11017
|
-
expects: /* @__PURE__ */ _stringify(literal_),
|
|
11018
|
-
async: false,
|
|
11019
|
-
literal: literal_,
|
|
11020
|
-
message: message2,
|
|
11021
|
-
get "~standard"() {
|
|
11022
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11023
|
-
},
|
|
11024
|
-
"~run"(dataset, config2) {
|
|
11025
|
-
if (dataset.value === this.literal) {
|
|
11026
|
-
dataset.typed = true;
|
|
11027
|
-
} else {
|
|
11028
|
-
_addIssue(this, "type", dataset, config2);
|
|
11029
|
-
}
|
|
11030
|
-
return dataset;
|
|
11031
|
-
}
|
|
11032
|
-
};
|
|
11033
|
-
}
|
|
11034
|
-
// @__NO_SIDE_EFFECTS__
|
|
11035
|
-
function number(message2) {
|
|
11036
|
-
return {
|
|
11037
|
-
kind: "schema",
|
|
11038
|
-
type: "number",
|
|
11039
|
-
reference: number,
|
|
11040
|
-
expects: "number",
|
|
11041
|
-
async: false,
|
|
11042
|
-
message: message2,
|
|
11043
|
-
get "~standard"() {
|
|
11044
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11045
|
-
},
|
|
11046
|
-
"~run"(dataset, config2) {
|
|
11047
|
-
if (typeof dataset.value === "number" && !isNaN(dataset.value)) {
|
|
11048
|
-
dataset.typed = true;
|
|
11049
|
-
} else {
|
|
11050
|
-
_addIssue(this, "type", dataset, config2);
|
|
11051
|
-
}
|
|
11052
|
-
return dataset;
|
|
11053
|
-
}
|
|
11054
|
-
};
|
|
11055
|
-
}
|
|
11056
|
-
// @__NO_SIDE_EFFECTS__
|
|
11057
|
-
function object(entries2, message2) {
|
|
11058
|
-
return {
|
|
11059
|
-
kind: "schema",
|
|
11060
|
-
type: "object",
|
|
11061
|
-
reference: object,
|
|
11062
|
-
expects: "Object",
|
|
11063
|
-
async: false,
|
|
11064
|
-
entries: entries2,
|
|
11065
|
-
message: message2,
|
|
11066
|
-
get "~standard"() {
|
|
11067
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11068
|
-
},
|
|
11069
|
-
"~run"(dataset, config2) {
|
|
11070
|
-
var _a;
|
|
11071
|
-
const input = dataset.value;
|
|
11072
|
-
if (input && typeof input === "object") {
|
|
11073
|
-
dataset.typed = true;
|
|
11074
|
-
dataset.value = {};
|
|
11075
|
-
for (const key in this.entries) {
|
|
11076
|
-
const valueSchema = this.entries[key];
|
|
11077
|
-
if (key in input || (valueSchema.type === "exact_optional" || valueSchema.type === "optional" || valueSchema.type === "nullish") && // @ts-expect-error
|
|
11078
|
-
valueSchema.default !== void 0) {
|
|
11079
|
-
const value2 = key in input ? (
|
|
11080
|
-
// @ts-expect-error
|
|
11081
|
-
input[key]
|
|
11082
|
-
) : /* @__PURE__ */ getDefault(valueSchema);
|
|
11083
|
-
const valueDataset = valueSchema["~run"]({ value: value2 }, config2);
|
|
11084
|
-
if (valueDataset.issues) {
|
|
11085
|
-
const pathItem = {
|
|
11086
|
-
type: "object",
|
|
11087
|
-
origin: "value",
|
|
11088
|
-
input,
|
|
11089
|
-
key,
|
|
11090
|
-
value: value2
|
|
11091
|
-
};
|
|
11092
|
-
for (const issue of valueDataset.issues) {
|
|
11093
|
-
if (issue.path) {
|
|
11094
|
-
issue.path.unshift(pathItem);
|
|
11095
|
-
} else {
|
|
11096
|
-
issue.path = [pathItem];
|
|
11097
|
-
}
|
|
11098
|
-
(_a = dataset.issues) == null ? void 0 : _a.push(issue);
|
|
11099
|
-
}
|
|
11100
|
-
if (!dataset.issues) {
|
|
11101
|
-
dataset.issues = valueDataset.issues;
|
|
11102
|
-
}
|
|
11103
|
-
if (config2.abortEarly) {
|
|
11104
|
-
dataset.typed = false;
|
|
11105
|
-
break;
|
|
11106
|
-
}
|
|
11107
|
-
}
|
|
11108
|
-
if (!valueDataset.typed) {
|
|
11109
|
-
dataset.typed = false;
|
|
11110
|
-
}
|
|
11111
|
-
dataset.value[key] = valueDataset.value;
|
|
11112
|
-
} else if (valueSchema.fallback !== void 0) {
|
|
11113
|
-
dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);
|
|
11114
|
-
} else if (valueSchema.type !== "exact_optional" && valueSchema.type !== "optional" && valueSchema.type !== "nullish") {
|
|
11115
|
-
_addIssue(this, "key", dataset, config2, {
|
|
11116
|
-
input: void 0,
|
|
11117
|
-
expected: `"${key}"`,
|
|
11118
|
-
path: [
|
|
11119
|
-
{
|
|
11120
|
-
type: "object",
|
|
11121
|
-
origin: "key",
|
|
11122
|
-
input,
|
|
11123
|
-
key,
|
|
11124
|
-
// @ts-expect-error
|
|
11125
|
-
value: input[key]
|
|
11126
|
-
}
|
|
11127
|
-
]
|
|
11128
|
-
});
|
|
11129
|
-
if (config2.abortEarly) {
|
|
11130
|
-
break;
|
|
11131
|
-
}
|
|
11132
|
-
}
|
|
11133
|
-
}
|
|
11134
|
-
} else {
|
|
11135
|
-
_addIssue(this, "type", dataset, config2);
|
|
11136
|
-
}
|
|
11137
|
-
return dataset;
|
|
11138
|
-
}
|
|
11139
|
-
};
|
|
11140
|
-
}
|
|
11141
|
-
// @__NO_SIDE_EFFECTS__
|
|
11142
|
-
function optional(wrapped, default_) {
|
|
11143
|
-
return {
|
|
11144
|
-
kind: "schema",
|
|
11145
|
-
type: "optional",
|
|
11146
|
-
reference: optional,
|
|
11147
|
-
expects: `(${wrapped.expects} | undefined)`,
|
|
11148
|
-
async: false,
|
|
11149
|
-
wrapped,
|
|
11150
|
-
default: default_,
|
|
11151
|
-
get "~standard"() {
|
|
11152
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11153
|
-
},
|
|
11154
|
-
"~run"(dataset, config2) {
|
|
11155
|
-
if (dataset.value === void 0) {
|
|
11156
|
-
if (this.default !== void 0) {
|
|
11157
|
-
dataset.value = /* @__PURE__ */ getDefault(this, dataset, config2);
|
|
11158
|
-
}
|
|
11159
|
-
if (dataset.value === void 0) {
|
|
11160
|
-
dataset.typed = true;
|
|
11161
|
-
return dataset;
|
|
11162
|
-
}
|
|
11163
|
-
}
|
|
11164
|
-
return this.wrapped["~run"](dataset, config2);
|
|
11165
|
-
}
|
|
11166
|
-
};
|
|
11167
|
-
}
|
|
11168
|
-
// @__NO_SIDE_EFFECTS__
|
|
11169
|
-
function picklist(options, message2) {
|
|
11170
|
-
return {
|
|
11171
|
-
kind: "schema",
|
|
11172
|
-
type: "picklist",
|
|
11173
|
-
reference: picklist,
|
|
11174
|
-
expects: /* @__PURE__ */ _joinExpects(options.map(_stringify), "|"),
|
|
11175
|
-
async: false,
|
|
11176
|
-
options,
|
|
11177
|
-
message: message2,
|
|
11178
|
-
get "~standard"() {
|
|
11179
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11180
|
-
},
|
|
11181
|
-
"~run"(dataset, config2) {
|
|
11182
|
-
if (this.options.includes(dataset.value)) {
|
|
11183
|
-
dataset.typed = true;
|
|
11184
|
-
} else {
|
|
11185
|
-
_addIssue(this, "type", dataset, config2);
|
|
11186
|
-
}
|
|
11187
|
-
return dataset;
|
|
11188
|
-
}
|
|
11189
|
-
};
|
|
11190
|
-
}
|
|
11191
|
-
// @__NO_SIDE_EFFECTS__
|
|
11192
|
-
function record(key, value2, message2) {
|
|
11193
|
-
return {
|
|
11194
|
-
kind: "schema",
|
|
11195
|
-
type: "record",
|
|
11196
|
-
reference: record,
|
|
11197
|
-
expects: "Object",
|
|
11198
|
-
async: false,
|
|
11199
|
-
key,
|
|
11200
|
-
value: value2,
|
|
11201
|
-
message: message2,
|
|
11202
|
-
get "~standard"() {
|
|
11203
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11204
|
-
},
|
|
11205
|
-
"~run"(dataset, config2) {
|
|
11206
|
-
var _a, _b;
|
|
11207
|
-
const input = dataset.value;
|
|
11208
|
-
if (input && typeof input === "object") {
|
|
11209
|
-
dataset.typed = true;
|
|
11210
|
-
dataset.value = {};
|
|
11211
|
-
for (const entryKey in input) {
|
|
11212
|
-
if (/* @__PURE__ */ _isValidObjectKey(input, entryKey)) {
|
|
11213
|
-
const entryValue = input[entryKey];
|
|
11214
|
-
const keyDataset = this.key["~run"]({ value: entryKey }, config2);
|
|
11215
|
-
if (keyDataset.issues) {
|
|
11216
|
-
const pathItem = {
|
|
11217
|
-
type: "object",
|
|
11218
|
-
origin: "key",
|
|
11219
|
-
input,
|
|
11220
|
-
key: entryKey,
|
|
11221
|
-
value: entryValue
|
|
11222
|
-
};
|
|
11223
|
-
for (const issue of keyDataset.issues) {
|
|
11224
|
-
issue.path = [pathItem];
|
|
11225
|
-
(_a = dataset.issues) == null ? void 0 : _a.push(issue);
|
|
11226
|
-
}
|
|
11227
|
-
if (!dataset.issues) {
|
|
11228
|
-
dataset.issues = keyDataset.issues;
|
|
11229
|
-
}
|
|
11230
|
-
if (config2.abortEarly) {
|
|
11231
|
-
dataset.typed = false;
|
|
11232
|
-
break;
|
|
11233
|
-
}
|
|
11234
|
-
}
|
|
11235
|
-
const valueDataset = this.value["~run"](
|
|
11236
|
-
{ value: entryValue },
|
|
11237
|
-
config2
|
|
11238
|
-
);
|
|
11239
|
-
if (valueDataset.issues) {
|
|
11240
|
-
const pathItem = {
|
|
11241
|
-
type: "object",
|
|
11242
|
-
origin: "value",
|
|
11243
|
-
input,
|
|
11244
|
-
key: entryKey,
|
|
11245
|
-
value: entryValue
|
|
11246
|
-
};
|
|
11247
|
-
for (const issue of valueDataset.issues) {
|
|
11248
|
-
if (issue.path) {
|
|
11249
|
-
issue.path.unshift(pathItem);
|
|
11250
|
-
} else {
|
|
11251
|
-
issue.path = [pathItem];
|
|
11252
|
-
}
|
|
11253
|
-
(_b = dataset.issues) == null ? void 0 : _b.push(issue);
|
|
11254
|
-
}
|
|
11255
|
-
if (!dataset.issues) {
|
|
11256
|
-
dataset.issues = valueDataset.issues;
|
|
11257
|
-
}
|
|
11258
|
-
if (config2.abortEarly) {
|
|
11259
|
-
dataset.typed = false;
|
|
11260
|
-
break;
|
|
11261
|
-
}
|
|
11262
|
-
}
|
|
11263
|
-
if (!keyDataset.typed || !valueDataset.typed) {
|
|
11264
|
-
dataset.typed = false;
|
|
11265
|
-
}
|
|
11266
|
-
if (keyDataset.typed) {
|
|
11267
|
-
dataset.value[keyDataset.value] = valueDataset.value;
|
|
11268
|
-
}
|
|
11269
|
-
}
|
|
11270
|
-
}
|
|
11271
|
-
} else {
|
|
11272
|
-
_addIssue(this, "type", dataset, config2);
|
|
11273
|
-
}
|
|
11274
|
-
return dataset;
|
|
11275
|
-
}
|
|
11276
|
-
};
|
|
11277
|
-
}
|
|
11278
|
-
// @__NO_SIDE_EFFECTS__
|
|
11279
|
-
function string(message2) {
|
|
11280
|
-
return {
|
|
11281
|
-
kind: "schema",
|
|
11282
|
-
type: "string",
|
|
11283
|
-
reference: string,
|
|
11284
|
-
expects: "string",
|
|
11285
|
-
async: false,
|
|
11286
|
-
message: message2,
|
|
11287
|
-
get "~standard"() {
|
|
11288
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11289
|
-
},
|
|
11290
|
-
"~run"(dataset, config2) {
|
|
11291
|
-
if (typeof dataset.value === "string") {
|
|
11292
|
-
dataset.typed = true;
|
|
11293
|
-
} else {
|
|
11294
|
-
_addIssue(this, "type", dataset, config2);
|
|
11295
|
-
}
|
|
11296
|
-
return dataset;
|
|
11297
|
-
}
|
|
11298
|
-
};
|
|
11299
|
-
}
|
|
11300
|
-
// @__NO_SIDE_EFFECTS__
|
|
11301
|
-
function _subIssues(datasets) {
|
|
11302
|
-
let issues;
|
|
11303
|
-
if (datasets) {
|
|
11304
|
-
for (const dataset of datasets) {
|
|
11305
|
-
if (issues) {
|
|
11306
|
-
issues.push(...dataset.issues);
|
|
11307
|
-
} else {
|
|
11308
|
-
issues = dataset.issues;
|
|
11309
|
-
}
|
|
11310
|
-
}
|
|
11311
|
-
}
|
|
11312
|
-
return issues;
|
|
11313
|
-
}
|
|
11314
|
-
// @__NO_SIDE_EFFECTS__
|
|
11315
|
-
function union(options, message2) {
|
|
11316
|
-
return {
|
|
11317
|
-
kind: "schema",
|
|
11318
|
-
type: "union",
|
|
11319
|
-
reference: union,
|
|
11320
|
-
expects: /* @__PURE__ */ _joinExpects(
|
|
11321
|
-
options.map((option) => option.expects),
|
|
11322
|
-
"|"
|
|
11323
|
-
),
|
|
11324
|
-
async: false,
|
|
11325
|
-
options,
|
|
11326
|
-
message: message2,
|
|
11327
|
-
get "~standard"() {
|
|
11328
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11329
|
-
},
|
|
11330
|
-
"~run"(dataset, config2) {
|
|
11331
|
-
let validDataset;
|
|
11332
|
-
let typedDatasets;
|
|
11333
|
-
let untypedDatasets;
|
|
11334
|
-
for (const schema of this.options) {
|
|
11335
|
-
const optionDataset = schema["~run"]({ value: dataset.value }, config2);
|
|
11336
|
-
if (optionDataset.typed) {
|
|
11337
|
-
if (optionDataset.issues) {
|
|
11338
|
-
if (typedDatasets) {
|
|
11339
|
-
typedDatasets.push(optionDataset);
|
|
11340
|
-
} else {
|
|
11341
|
-
typedDatasets = [optionDataset];
|
|
11342
|
-
}
|
|
11343
|
-
} else {
|
|
11344
|
-
validDataset = optionDataset;
|
|
11345
|
-
break;
|
|
11346
|
-
}
|
|
11347
|
-
} else {
|
|
11348
|
-
if (untypedDatasets) {
|
|
11349
|
-
untypedDatasets.push(optionDataset);
|
|
11350
|
-
} else {
|
|
11351
|
-
untypedDatasets = [optionDataset];
|
|
11352
|
-
}
|
|
11353
|
-
}
|
|
11354
|
-
}
|
|
11355
|
-
if (validDataset) {
|
|
11356
|
-
return validDataset;
|
|
11357
|
-
}
|
|
11358
|
-
if (typedDatasets) {
|
|
11359
|
-
if (typedDatasets.length === 1) {
|
|
11360
|
-
return typedDatasets[0];
|
|
11361
|
-
}
|
|
11362
|
-
_addIssue(this, "type", dataset, config2, {
|
|
11363
|
-
issues: /* @__PURE__ */ _subIssues(typedDatasets)
|
|
11364
|
-
});
|
|
11365
|
-
dataset.typed = true;
|
|
11366
|
-
} else if ((untypedDatasets == null ? void 0 : untypedDatasets.length) === 1) {
|
|
11367
|
-
return untypedDatasets[0];
|
|
11368
|
-
} else {
|
|
11369
|
-
_addIssue(this, "type", dataset, config2, {
|
|
11370
|
-
issues: /* @__PURE__ */ _subIssues(untypedDatasets)
|
|
11371
|
-
});
|
|
11372
|
-
}
|
|
11373
|
-
return dataset;
|
|
11374
|
-
}
|
|
11375
|
-
};
|
|
11376
|
-
}
|
|
11377
|
-
// @__NO_SIDE_EFFECTS__
|
|
11378
|
-
function pipe(...pipe2) {
|
|
11379
|
-
return {
|
|
11380
|
-
...pipe2[0],
|
|
11381
|
-
pipe: pipe2,
|
|
11382
|
-
get "~standard"() {
|
|
11383
|
-
return /* @__PURE__ */ _getStandardProps(this);
|
|
11384
|
-
},
|
|
11385
|
-
"~run"(dataset, config2) {
|
|
11386
|
-
for (const item of pipe2) {
|
|
11387
|
-
if (item.kind !== "metadata") {
|
|
11388
|
-
if (dataset.issues && (item.kind === "schema" || item.kind === "transformation")) {
|
|
11389
|
-
dataset.typed = false;
|
|
11390
|
-
break;
|
|
11391
|
-
}
|
|
11392
|
-
if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {
|
|
11393
|
-
dataset = item["~run"](dataset, config2);
|
|
11394
|
-
}
|
|
11395
|
-
}
|
|
11396
|
-
}
|
|
11397
|
-
return dataset;
|
|
11398
|
-
}
|
|
11399
|
-
};
|
|
11400
|
-
}
|
|
11401
|
-
const alertFiltersSchema = /* @__PURE__ */ record(
|
|
11402
|
-
/* @__PURE__ */ string(),
|
|
11403
|
-
/* @__PURE__ */ union([
|
|
11404
|
-
/* @__PURE__ */ string(),
|
|
11405
|
-
/* @__PURE__ */ array(/* @__PURE__ */ string()),
|
|
11406
|
-
/* @__PURE__ */ object({
|
|
11407
|
-
type: /* @__PURE__ */ literal("provided"),
|
|
11408
|
-
lat: /* @__PURE__ */ number(),
|
|
11409
|
-
lng: /* @__PURE__ */ number(),
|
|
11410
|
-
radius: /* @__PURE__ */ number(),
|
|
11411
|
-
unit: /* @__PURE__ */ optional(/* @__PURE__ */ picklist(["miles", "km"])),
|
|
11412
|
-
label: /* @__PURE__ */ optional(/* @__PURE__ */ string())
|
|
11413
|
-
})
|
|
11414
|
-
])
|
|
11415
|
-
);
|
|
11416
|
-
const saveSearchEndpoint = sdk.endpoint({
|
|
11417
|
-
pathname: "/search/save",
|
|
11418
|
-
method: "POST",
|
|
11419
|
-
schema: {
|
|
11420
|
-
response: sdk.typed(),
|
|
11421
|
-
body: /* @__PURE__ */ object({
|
|
11422
|
-
contact: /* @__PURE__ */ object({
|
|
11423
|
-
email: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ string()), /* @__PURE__ */ string(), /* @__PURE__ */ email()),
|
|
11424
|
-
first_name: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
11425
|
-
last_name: /* @__PURE__ */ optional(/* @__PURE__ */ string())
|
|
11426
|
-
}),
|
|
11427
|
-
alerts: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ string()), /* @__PURE__ */ string(), /* @__PURE__ */ picklist(FREQUENCIES)),
|
|
11428
|
-
filters: alertFiltersSchema
|
|
11429
|
-
})
|
|
11430
|
-
}
|
|
11431
|
-
});
|
|
11432
10817
|
var COLOR_SHADES = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
11433
10818
|
var OKLCH_PRESETS = {
|
|
11434
10819
|
light: {
|
|
@@ -11617,6 +11002,14 @@ const InputError = ({ error: error2 }) => {
|
|
|
11617
11002
|
/* @__PURE__ */ u$2("p", { class: "pr-1 text-sm", children: error2 })
|
|
11618
11003
|
] });
|
|
11619
11004
|
};
|
|
11005
|
+
const signupNoticeText = (t2, employerName) => {
|
|
11006
|
+
const sender = employerName == null ? void 0 : employerName.trim();
|
|
11007
|
+
return sender ? t2("alert_notice_sender", { company: sender }) : t2("alert_notice");
|
|
11008
|
+
};
|
|
11009
|
+
const SignupNotice = ({ employerName }) => {
|
|
11010
|
+
const { t: t2 } = useTranslation();
|
|
11011
|
+
return /* @__PURE__ */ u$2("p", { class: "text-neutral-11 px-2 text-xs leading-snug", children: signupNoticeText(t2, employerName) });
|
|
11012
|
+
};
|
|
11620
11013
|
const inputClass = "rounded-field-input bg-neutral-1 text-accent-11 autofill:shadow-[inset_0_0_0_1000px_var(--i-color-a-2)] autofill:focus:shadow-[inset_0_0_0_1000px_var(--i-color-a-1)] autofill:[-webkit-text-fill-color:var(--i-color-a-11)] px-3 py-2 ring ring-[1px] transition-all ease-expo-out duration-snappy ring-neutral-4 fr inline-flex w-full items-center justify-center px-2.5 text-base shadow-[0_0_0_1px] outline-none focus:shadow-[0_0_0_2px]";
|
|
11621
11014
|
const JobAlertsButton = D(
|
|
11622
11015
|
({ class: className, ...props }, ref) => /* @__PURE__ */ u$2(
|
|
@@ -11632,14 +11025,14 @@ const JobAlertsButton = D(
|
|
|
11632
11025
|
children: [
|
|
11633
11026
|
/* @__PURE__ */ u$2(Icon, { class: "flex-none", name: "bell" }),
|
|
11634
11027
|
" ",
|
|
11635
|
-
/* @__PURE__ */ u$2("span", { class: "min-w-0 truncate text-center", children: store
|
|
11028
|
+
/* @__PURE__ */ u$2("span", { class: "min-w-0 truncate text-center", children: store.config$.value.label })
|
|
11636
11029
|
]
|
|
11637
11030
|
}
|
|
11638
11031
|
)
|
|
11639
11032
|
);
|
|
11640
|
-
const PopoverHeader = () => /* @__PURE__ */ u$2("p", { class: "text-neutral-11 px-2 pb-4 pt-1 text-sm", children: store
|
|
11033
|
+
const PopoverHeader = () => /* @__PURE__ */ u$2("p", { class: "text-neutral-11 px-2 pb-4 pt-1 text-sm", children: store.config$.value.headerText });
|
|
11641
11034
|
const PrivacyPolicyLink = ({ label }) => {
|
|
11642
|
-
const url = store
|
|
11035
|
+
const url = store.config$.value.privacyPolicyUrl;
|
|
11643
11036
|
if (!url)
|
|
11644
11037
|
return null;
|
|
11645
11038
|
return /* @__PURE__ */ u$2(
|
|
@@ -11675,16 +11068,16 @@ const JobAlerts = ({ theme, rpcClient, logger, analytics }) => {
|
|
|
11675
11068
|
const name = (_a = formData.get("name")) == null ? void 0 : _a.toString();
|
|
11676
11069
|
const [firstName, ...rest] = (name == null ? void 0 : name.split(" ")) ?? [];
|
|
11677
11070
|
const lastName = rest.join(" ");
|
|
11678
|
-
const
|
|
11071
|
+
const email = (_b = formData.get("email")) == null ? void 0 : _b.toString();
|
|
11679
11072
|
setFormState("loading");
|
|
11680
11073
|
analytics.log({
|
|
11681
11074
|
event: "IDENTIFY",
|
|
11682
|
-
properties: { identifier: "job_alerts", email
|
|
11075
|
+
properties: { identifier: "job_alerts", email, first_name: firstName, last_name: lastName }
|
|
11683
11076
|
});
|
|
11684
11077
|
await Promise.all([
|
|
11685
11078
|
// waits for at least 1 second
|
|
11686
11079
|
new Promise((resolve) => setTimeout(resolve, 1e3)),
|
|
11687
|
-
rpcClient.request(saveSearchEndpoint, {
|
|
11080
|
+
rpcClient.request(sdk.saveSearchEndpoint, {
|
|
11688
11081
|
body: {
|
|
11689
11082
|
contact: {
|
|
11690
11083
|
email: (_c = formData.get("email")) == null ? void 0 : _c.toString(),
|
|
@@ -11692,7 +11085,7 @@ const JobAlerts = ({ theme, rpcClient, logger, analytics }) => {
|
|
|
11692
11085
|
last_name: lastName
|
|
11693
11086
|
},
|
|
11694
11087
|
alerts: (_d = formData.get("frequency")) == null ? void 0 : _d.toString(),
|
|
11695
|
-
filters: store
|
|
11088
|
+
filters: store.filters$.peek()
|
|
11696
11089
|
}
|
|
11697
11090
|
})
|
|
11698
11091
|
]).then(async () => {
|
|
@@ -11749,12 +11142,13 @@ const JobAlerts = ({ theme, rpcClient, logger, analytics }) => {
|
|
|
11749
11142
|
id: "ija-frequency",
|
|
11750
11143
|
defaultValue: "WEEKLY",
|
|
11751
11144
|
name: "frequency",
|
|
11752
|
-
children:
|
|
11145
|
+
children: sdk.JOB_ALERT_FREQUENCIES.map((frequency) => /* @__PURE__ */ u$2("option", { value: frequency, children: t2(frequency) }))
|
|
11753
11146
|
}
|
|
11754
11147
|
),
|
|
11755
11148
|
/* @__PURE__ */ u$2("div", { class: "text-neutral-10 absolute bottom-0 right-0 top-0 flex items-center p-1", "aria-hidden": true, children: /* @__PURE__ */ u$2(Icon, { name: "chevron-up-down" }) })
|
|
11756
11149
|
] })
|
|
11757
11150
|
] }),
|
|
11151
|
+
/* @__PURE__ */ u$2(SignupNotice, { employerName: store.config$.value.employerName }),
|
|
11758
11152
|
/* @__PURE__ */ u$2(PrivacyPolicyLink, { label: t2("privacy_policy_link") }),
|
|
11759
11153
|
/* @__PURE__ */ u$2(
|
|
11760
11154
|
"button",
|
|
@@ -12423,6 +11817,10 @@ const tailwind = `#ija {
|
|
|
12423
11817
|
font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
|
|
12424
11818
|
}
|
|
12425
11819
|
|
|
11820
|
+
#ija .leading-snug {
|
|
11821
|
+
line-height: 1.375;
|
|
11822
|
+
}
|
|
11823
|
+
|
|
12426
11824
|
#ija .text-\\[\\#E5484D\\] {
|
|
12427
11825
|
--tw-text-opacity: 1;
|
|
12428
11826
|
color: rgb(229 72 77 / var(--tw-text-opacity, 1));
|
|
@@ -12820,8 +12218,8 @@ const jobAlertsPlugin = () => sdk.createPlugin(({ rpcClient, logger, analytics }
|
|
|
12820
12218
|
]
|
|
12821
12219
|
);
|
|
12822
12220
|
};
|
|
12823
|
-
const setFilters = (newFilters) => store
|
|
12824
|
-
const setConfig = (newConfig) => store
|
|
12221
|
+
const setFilters = (newFilters) => store.filters$.value = newFilters;
|
|
12222
|
+
const setConfig = (newConfig) => store.config$.value = typeof newConfig === "function" ? newConfig(store.config$.peek()) : newConfig;
|
|
12825
12223
|
return {
|
|
12826
12224
|
/** Returns a string with the initial rendering state of the UI.
|
|
12827
12225
|
* Useful when server-side rendering to avoid CLS.
|