@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.js CHANGED
@@ -593,7 +593,11 @@ var import_popper = require("@zag-js/popper");
593
593
 
594
594
  // ../../types/dist/index.mjs
595
595
  function createNormalizer(fn) {
596
- return { button: fn, label: fn, input: fn, output: fn, element: fn };
596
+ return new Proxy({}, {
597
+ get() {
598
+ return fn;
599
+ }
600
+ });
597
601
  }
598
602
  var normalizeProp = createNormalizer((v) => v);
599
603
 
@@ -629,6 +633,10 @@ var dom = {
629
633
  return (_a = ctx.doc) != null ? _a : document;
630
634
  },
631
635
  getActiveEl: (ctx) => dom.getDoc(ctx).activeElement,
636
+ getRootNode: (ctx) => {
637
+ var _a;
638
+ return (_a = ctx.rootNode) != null ? _a : dom.getDoc(ctx);
639
+ },
632
640
  getAnchorId: (ctx) => {
633
641
  var _a, _b;
634
642
  return (_b = (_a = ctx.ids) == null ? void 0 : _a.anchor) != null ? _b : `popover:${ctx.uid}:anchor`;
@@ -655,12 +663,12 @@ var dom = {
655
663
  var _a, _b;
656
664
  return (_b = (_a = ctx.ids) == null ? void 0 : _a.closeBtn) != null ? _b : `popover:${ctx.uid}:close-button`;
657
665
  },
658
- getAnchorEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getAnchorId(ctx)),
659
- getTriggerEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getTriggerId(ctx)),
660
- getContentEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getContentId(ctx)),
661
- getPositionerEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getPositionerId(ctx)),
662
- getTitleEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getTitleId(ctx)),
663
- getDescriptionEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getDescriptionId(ctx)),
666
+ getAnchorEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getAnchorId(ctx)),
667
+ getTriggerEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getTriggerId(ctx)),
668
+ getContentEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getContentId(ctx)),
669
+ getPositionerEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getPositionerId(ctx)),
670
+ getTitleEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getTitleId(ctx)),
671
+ getDescriptionEl: (ctx) => dom.getRootNode(ctx).getElementById(dom.getDescriptionId(ctx)),
664
672
  getFocusableEls: (ctx) => getFocusables(dom.getContentEl(ctx)),
665
673
  getFirstFocusableEl: (ctx) => dom.getFocusableEls(ctx)[0],
666
674
  getDocTabbableEls: (ctx) => getTabbables(cast(dom.getDoc(ctx))),
@@ -681,7 +689,8 @@ function connect(state, send, normalize = normalizeProp) {
681
689
  const isOpen = state.matches("open");
682
690
  const pointerdownNode = state.context.pointerdownNode;
683
691
  const popperStyles = (0, import_popper.getPlacementStyles)({
684
- measured: !!state.context.isPlacementComplete
692
+ measured: !!state.context.isPlacementComplete,
693
+ placement: state.context.currentPlacement
685
694
  });
686
695
  return {
687
696
  portalled: state.context.currentPortalled,
@@ -729,6 +738,7 @@ function connect(state, send, normalize = normalizeProp) {
729
738
  tabIndex: -1,
730
739
  role: "dialog",
731
740
  hidden: !isOpen,
741
+ "data-expanded": dataAttr(isOpen),
732
742
  "aria-labelledby": state.context.isTitleRendered ? dom.getTitleId(state.context) : void 0,
733
743
  "aria-describedby": state.context.isDescriptionRendered ? dom.getDescriptionId(state.context) : void 0,
734
744
  "data-placement": state.context.currentPlacement,
@@ -965,6 +975,8 @@ function machine(ctx = {}) {
965
975
  setupDocument(ctx2, evt) {
966
976
  if (evt.doc)
967
977
  ctx2.doc = (0, import_core.ref)(evt.doc);
978
+ if (evt.root)
979
+ ctx2.rootNode = (0, import_core.ref)(evt.root);
968
980
  ctx2.uid = evt.id;
969
981
  },
970
982
  clearPointerDown(ctx2) {