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