@zag-js/tooltip 0.0.0-dev-20220416152643 → 0.0.0-dev-20220418173111

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
@@ -407,220 +407,225 @@ var isDom = () => !!(typeof window !== "undefined");
407
407
  var isSafari = () => ua(/^((?!chrome|android).)*safari/i);
408
408
 
409
409
  // src/tooltip.machine.ts
410
- var machine = createMachine({
411
- id: "tooltip",
412
- initial: "unknown",
413
- context: {
414
- id: "",
415
- openDelay: 1e3,
416
- closeDelay: 500,
417
- closeOnPointerDown: true,
418
- closeOnEsc: true,
419
- interactive: true,
420
- positioning: { placement: "bottom" },
421
- currentPlacement: void 0
422
- },
423
- computed: {
424
- hasAriaLabel: (ctx) => !!ctx["aria-label"]
425
- },
426
- on: {
427
- OPEN: "open",
428
- CLOSE: "closed"
429
- },
430
- states: {
431
- unknown: {
432
- on: {
433
- SETUP: {
434
- target: "closed",
435
- actions: "setupDocument"
436
- }
437
- }
410
+ function machine(ctx = {}) {
411
+ return createMachine({
412
+ id: "tooltip",
413
+ initial: "unknown",
414
+ context: __spreadProps(__spreadValues({
415
+ id: "",
416
+ openDelay: 1e3,
417
+ closeDelay: 500,
418
+ closeOnPointerDown: true,
419
+ closeOnEsc: true,
420
+ interactive: true,
421
+ currentPlacement: void 0
422
+ }, ctx), {
423
+ positioning: __spreadValues({
424
+ placement: "bottom"
425
+ }, ctx.positioning)
426
+ }),
427
+ computed: {
428
+ hasAriaLabel: (ctx2) => !!ctx2["aria-label"]
438
429
  },
439
- closed: {
440
- tags: ["closed"],
441
- entry: ["clearGlobalId", "invokeOnClose"],
442
- on: {
443
- FOCUS: "open",
444
- POINTER_ENTER: [
445
- {
446
- guard: "noVisibleTooltip",
447
- target: "opening"
448
- },
449
- { target: "open" }
450
- ]
451
- }
430
+ on: {
431
+ OPEN: "open",
432
+ CLOSE: "closed"
452
433
  },
453
- opening: {
454
- tags: ["closed"],
455
- activities: ["trackScroll", "trackPointerlockChange"],
456
- after: {
457
- OPEN_DELAY: "open"
434
+ states: {
435
+ unknown: {
436
+ on: {
437
+ SETUP: {
438
+ target: "closed",
439
+ actions: "setupDocument"
440
+ }
441
+ }
458
442
  },
459
- on: {
460
- POINTER_LEAVE: "closed",
461
- BLUR: "closed",
462
- SCROLL: "closed",
463
- POINTER_LOCK_CHANGE: "closed",
464
- POINTER_DOWN: {
465
- guard: "closeOnPointerDown",
466
- target: "closed"
443
+ closed: {
444
+ tags: ["closed"],
445
+ entry: ["clearGlobalId", "invokeOnClose"],
446
+ on: {
447
+ FOCUS: "open",
448
+ POINTER_ENTER: [
449
+ {
450
+ guard: "noVisibleTooltip",
451
+ target: "opening"
452
+ },
453
+ { target: "open" }
454
+ ]
467
455
  }
468
- }
469
- },
470
- open: {
471
- tags: ["open"],
472
- activities: [
473
- "trackEscapeKey",
474
- "trackDisabledTriggerOnSafari",
475
- "trackScroll",
476
- "trackPointerlockChange",
477
- "computePlacement"
478
- ],
479
- entry: ["setGlobalId", "invokeOnOpen"],
480
- on: {
481
- POINTER_LEAVE: [
482
- {
483
- guard: "isVisible",
456
+ },
457
+ opening: {
458
+ tags: ["closed"],
459
+ activities: ["trackScroll", "trackPointerlockChange"],
460
+ after: {
461
+ OPEN_DELAY: "open"
462
+ },
463
+ on: {
464
+ POINTER_LEAVE: "closed",
465
+ BLUR: "closed",
466
+ SCROLL: "closed",
467
+ POINTER_LOCK_CHANGE: "closed",
468
+ POINTER_DOWN: {
469
+ guard: "closeOnPointerDown",
470
+ target: "closed"
471
+ }
472
+ }
473
+ },
474
+ open: {
475
+ tags: ["open"],
476
+ activities: [
477
+ "trackEscapeKey",
478
+ "trackDisabledTriggerOnSafari",
479
+ "trackScroll",
480
+ "trackPointerlockChange",
481
+ "computePlacement"
482
+ ],
483
+ entry: ["setGlobalId", "invokeOnOpen"],
484
+ on: {
485
+ POINTER_LEAVE: [
486
+ {
487
+ guard: "isVisible",
488
+ target: "closing"
489
+ },
490
+ { target: "closed" }
491
+ ],
492
+ BLUR: "closed",
493
+ ESCAPE: "closed",
494
+ SCROLL: "closed",
495
+ POINTER_LOCK_CHANGE: "closed",
496
+ TOOLTIP_POINTER_LEAVE: {
497
+ guard: "isInteractive",
484
498
  target: "closing"
485
499
  },
486
- { target: "closed" }
487
- ],
488
- BLUR: "closed",
489
- ESCAPE: "closed",
490
- SCROLL: "closed",
491
- POINTER_LOCK_CHANGE: "closed",
492
- TOOLTIP_POINTER_LEAVE: {
493
- guard: "isInteractive",
494
- target: "closing"
495
- },
496
- POINTER_DOWN: {
497
- guard: "closeOnPointerDown",
498
- target: "closed"
499
- },
500
- CLICK: "closed"
501
- }
502
- },
503
- closing: {
504
- tags: ["open"],
505
- activities: ["trackStore", "computePlacement"],
506
- after: {
507
- CLOSE_DELAY: "closed"
500
+ POINTER_DOWN: {
501
+ guard: "closeOnPointerDown",
502
+ target: "closed"
503
+ },
504
+ CLICK: "closed"
505
+ }
508
506
  },
509
- on: {
510
- FORCE_CLOSE: "closed",
511
- POINTER_ENTER: "open",
512
- TOOLTIP_POINTER_ENTER: {
513
- guard: "isInteractive",
514
- target: "open"
507
+ closing: {
508
+ tags: ["open"],
509
+ activities: ["trackStore", "computePlacement"],
510
+ after: {
511
+ CLOSE_DELAY: "closed"
512
+ },
513
+ on: {
514
+ FORCE_CLOSE: "closed",
515
+ POINTER_ENTER: "open",
516
+ TOOLTIP_POINTER_ENTER: {
517
+ guard: "isInteractive",
518
+ target: "open"
519
+ }
515
520
  }
516
521
  }
517
522
  }
518
- }
519
- }, {
520
- activities: {
521
- computePlacement(ctx) {
522
- ctx.currentPlacement = ctx.positioning.placement;
523
- let cleanup;
524
- raf(() => {
525
- cleanup = getPlacement(dom.getTriggerEl(ctx), dom.getPositionerEl(ctx), __spreadProps(__spreadValues({}, ctx.positioning), {
526
- onComplete(data) {
527
- ctx.currentPlacement = data.placement;
528
- ctx.isPlacementComplete = true;
529
- },
530
- onCleanup() {
531
- ctx.currentPlacement = void 0;
532
- ctx.isPlacementComplete = false;
523
+ }, {
524
+ activities: {
525
+ computePlacement(ctx2) {
526
+ ctx2.currentPlacement = ctx2.positioning.placement;
527
+ let cleanup;
528
+ raf(() => {
529
+ cleanup = getPlacement(dom.getTriggerEl(ctx2), dom.getPositionerEl(ctx2), __spreadProps(__spreadValues({}, ctx2.positioning), {
530
+ onComplete(data) {
531
+ ctx2.currentPlacement = data.placement;
532
+ ctx2.isPlacementComplete = true;
533
+ },
534
+ onCleanup() {
535
+ ctx2.currentPlacement = void 0;
536
+ ctx2.isPlacementComplete = false;
537
+ }
538
+ }));
539
+ });
540
+ return cleanup;
541
+ },
542
+ trackPointerlockChange(ctx2, _evt, { send }) {
543
+ return addPointerlockChangeListener(dom.getDoc(ctx2), () => {
544
+ send("POINTER_LOCK_CHANGE");
545
+ });
546
+ },
547
+ trackScroll(ctx2, _evt, { send }) {
548
+ const trigger = dom.getTriggerEl(ctx2);
549
+ if (!trigger)
550
+ return;
551
+ const cleanups = getScrollParents(trigger).map((el) => {
552
+ const opts = { passive: true, capture: true };
553
+ return addDomEvent(el, "scroll", () => send("SCROLL"), opts);
554
+ });
555
+ return () => {
556
+ cleanups.forEach((fn) => fn == null ? void 0 : fn());
557
+ };
558
+ },
559
+ trackStore(ctx2, _evt, { send }) {
560
+ return subscribe(store, () => {
561
+ if (store.id !== ctx2.id) {
562
+ send("FORCE_CLOSE");
533
563
  }
534
- }));
535
- });
536
- return cleanup;
537
- },
538
- trackPointerlockChange(ctx, _evt, { send }) {
539
- return addPointerlockChangeListener(dom.getDoc(ctx), () => {
540
- send("POINTER_LOCK_CHANGE");
541
- });
542
- },
543
- trackScroll(ctx, _evt, { send }) {
544
- const trigger = dom.getTriggerEl(ctx);
545
- if (!trigger)
546
- return;
547
- const cleanups = getScrollParents(trigger).map((el) => {
548
- const opts = { passive: true, capture: true };
549
- return addDomEvent(el, "scroll", () => send("SCROLL"), opts);
550
- });
551
- return () => {
552
- cleanups.forEach((fn) => fn == null ? void 0 : fn());
553
- };
554
- },
555
- trackStore(ctx, _evt, { send }) {
556
- return subscribe(store, () => {
557
- if (store.id !== ctx.id) {
558
- send("FORCE_CLOSE");
559
- }
560
- });
561
- },
562
- trackDisabledTriggerOnSafari(ctx, _evt, { send }) {
563
- if (!isSafari())
564
- return noop2;
565
- const doc = dom.getDoc(ctx);
566
- return addPointerEvent(doc, "pointermove", (event) => {
567
- const selector = "[data-part=trigger][data-expanded]";
568
- if (isHTMLElement(event.target) && event.target.closest(selector))
564
+ });
565
+ },
566
+ trackDisabledTriggerOnSafari(ctx2, _evt, { send }) {
567
+ if (!isSafari())
568
+ return noop2;
569
+ const doc = dom.getDoc(ctx2);
570
+ return addPointerEvent(doc, "pointermove", (event) => {
571
+ const selector = "[data-part=trigger][data-expanded]";
572
+ if (isHTMLElement(event.target) && event.target.closest(selector))
573
+ return;
574
+ send("POINTER_LEAVE");
575
+ });
576
+ },
577
+ trackEscapeKey(ctx2, _evt, { send }) {
578
+ if (!ctx2.closeOnEsc)
569
579
  return;
570
- send("POINTER_LEAVE");
571
- });
580
+ const doc = dom.getDoc(ctx2);
581
+ return addDomEvent(doc, "keydown", (event) => {
582
+ if (event.key === "Escape") {
583
+ send("ESCAPE");
584
+ }
585
+ });
586
+ }
572
587
  },
573
- trackEscapeKey(ctx, _evt, { send }) {
574
- if (!ctx.closeOnEsc)
575
- return;
576
- const doc = dom.getDoc(ctx);
577
- return addDomEvent(doc, "keydown", (event) => {
578
- if (event.key === "Escape") {
579
- send("ESCAPE");
588
+ actions: {
589
+ setupDocument(ctx2, evt) {
590
+ ctx2.id = evt.id;
591
+ if (evt.doc)
592
+ ctx2.doc = ref(evt.doc);
593
+ },
594
+ setGlobalId(ctx2) {
595
+ store.setId(ctx2.id);
596
+ },
597
+ clearGlobalId(ctx2) {
598
+ if (ctx2.id === store.id) {
599
+ store.setId(null);
600
+ }
601
+ },
602
+ invokeOnOpen(ctx2, evt) {
603
+ var _a;
604
+ const omit = ["TOOLTIP_POINTER_ENTER", "POINTER_ENTER"];
605
+ if (!omit.includes(evt.type)) {
606
+ (_a = ctx2.onOpen) == null ? void 0 : _a.call(ctx2);
607
+ }
608
+ },
609
+ invokeOnClose(ctx2, evt) {
610
+ var _a;
611
+ const omit = ["SETUP"];
612
+ if (!omit.includes(evt.type)) {
613
+ (_a = ctx2.onClose) == null ? void 0 : _a.call(ctx2);
580
614
  }
581
- });
582
- }
583
- },
584
- actions: {
585
- setupDocument(ctx, evt) {
586
- ctx.id = evt.id;
587
- if (evt.doc)
588
- ctx.doc = ref(evt.doc);
589
- },
590
- setGlobalId(ctx) {
591
- store.setId(ctx.id);
592
- },
593
- clearGlobalId(ctx) {
594
- if (ctx.id === store.id) {
595
- store.setId(null);
596
615
  }
597
616
  },
598
- invokeOnOpen(ctx, evt) {
599
- var _a;
600
- const omit = ["TOOLTIP_POINTER_ENTER", "POINTER_ENTER"];
601
- if (!omit.includes(evt.type)) {
602
- (_a = ctx.onOpen) == null ? void 0 : _a.call(ctx);
603
- }
617
+ guards: {
618
+ closeOnPointerDown: (ctx2) => ctx2.closeOnPointerDown,
619
+ noVisibleTooltip: () => store.id === null,
620
+ isVisible: (ctx2) => ctx2.id === store.id,
621
+ isInteractive: (ctx2) => ctx2.interactive
604
622
  },
605
- invokeOnClose(ctx, evt) {
606
- var _a;
607
- const omit = ["SETUP"];
608
- if (!omit.includes(evt.type)) {
609
- (_a = ctx.onClose) == null ? void 0 : _a.call(ctx);
610
- }
623
+ delays: {
624
+ OPEN_DELAY: (ctx2) => ctx2.openDelay,
625
+ CLOSE_DELAY: (ctx2) => ctx2.closeDelay
611
626
  }
612
- },
613
- guards: {
614
- closeOnPointerDown: (ctx) => ctx.closeOnPointerDown,
615
- noVisibleTooltip: () => store.id === null,
616
- isVisible: (ctx) => ctx.id === store.id,
617
- isInteractive: (ctx) => ctx.interactive
618
- },
619
- delays: {
620
- OPEN_DELAY: (ctx) => ctx.openDelay,
621
- CLOSE_DELAY: (ctx) => ctx.closeDelay
622
- }
623
- });
627
+ });
628
+ }
624
629
  export {
625
630
  connect,
626
631
  machine