@zag-js/popover 0.1.3 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -570,7 +570,11 @@ import { getPlacementStyles } from "@zag-js/popper";
570
570
 
571
571
  // ../../types/dist/index.mjs
572
572
  function createNormalizer(fn) {
573
- return { button: fn, label: fn, input: fn, output: fn, element: fn };
573
+ return new Proxy({}, {
574
+ get() {
575
+ return fn;
576
+ }
577
+ });
574
578
  }
575
579
  var normalizeProp = createNormalizer((v) => v);
576
580
 
@@ -606,6 +610,10 @@ var dom = {
606
610
  return (_a = ctx.doc) != null ? _a : document;
607
611
  },
608
612
  getActiveEl: (ctx) => dom.getDoc(ctx).activeElement,
613
+ getRootNode: (ctx) => {
614
+ var _a;
615
+ return (_a = ctx.rootNode) != null ? _a : dom.getDoc(ctx);
616
+ },
609
617
  getAnchorId: (ctx) => {
610
618
  var _a, _b;
611
619
  return (_b = (_a = ctx.ids) == null ? void 0 : _a.anchor) != null ? _b : `popover:${ctx.uid}:anchor`;
@@ -632,12 +640,12 @@ var dom = {
632
640
  var _a, _b;
633
641
  return (_b = (_a = ctx.ids) == null ? void 0 : _a.closeBtn) != null ? _b : `popover:${ctx.uid}:close-button`;
634
642
  },
635
- getAnchorEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getAnchorId(ctx)),
636
- getTriggerEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getTriggerId(ctx)),
637
- getContentEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getContentId(ctx)),
638
- getPositionerEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getPositionerId(ctx)),
639
- getTitleEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getTitleId(ctx)),
640
- getDescriptionEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getDescriptionId(ctx)),
643
+ getAnchorEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getAnchorId(ctx)),
644
+ getTriggerEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getTriggerId(ctx)),
645
+ getContentEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getContentId(ctx)),
646
+ getPositionerEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getPositionerId(ctx)),
647
+ getTitleEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getTitleId(ctx)),
648
+ getDescriptionEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getDescriptionId(ctx)),
641
649
  getFocusableEls: (ctx) => getFocusables(dom.getContentEl(ctx)),
642
650
  getFirstFocusableEl: (ctx) => dom.getFocusableEls(ctx)[0],
643
651
  getDocTabbableEls: (ctx) => getTabbables(cast(dom.getDoc(ctx))),
@@ -658,7 +666,8 @@ function connect(state, send, normalize = normalizeProp) {
658
666
  const isOpen = state.matches("open");
659
667
  const pointerdownNode = state.context.pointerdownNode;
660
668
  const popperStyles = getPlacementStyles({
661
- measured: !!state.context.isPlacementComplete
669
+ measured: !!state.context.isPlacementComplete,
670
+ placement: state.context.currentPlacement
662
671
  });
663
672
  return {
664
673
  portalled: state.context.currentPortalled,
@@ -706,6 +715,7 @@ function connect(state, send, normalize = normalizeProp) {
706
715
  tabIndex: -1,
707
716
  role: "dialog",
708
717
  hidden: !isOpen,
718
+ "data-expanded": dataAttr(isOpen),
709
719
  "aria-labelledby": state.context.isTitleRendered ? dom.getTitleId(state.context) : void 0,
710
720
  "aria-describedby": state.context.isDescriptionRendered ? dom.getDescriptionId(state.context) : void 0,
711
721
  "data-placement": state.context.currentPlacement,
@@ -942,6 +952,8 @@ function machine(ctx = {}) {
942
952
  setupDocument(ctx2, evt) {
943
953
  if (evt.doc)
944
954
  ctx2.doc = ref(evt.doc);
955
+ if (evt.root)
956
+ ctx2.rootNode = ref(evt.root);
945
957
  ctx2.uid = evt.id;
946
958
  },
947
959
  clearPointerDown(ctx2) {