@zag-js/tooltip 0.0.0-dev-20220415160434 → 0.0.0-dev-20220417135151

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
@@ -259,14 +259,14 @@ var dom = {
259
259
  },
260
260
  getTriggerId: (ctx) => {
261
261
  var _a, _b;
262
- return (_b = (_a = ctx.ids) == null ? void 0 : _a.trigger) != null ? _b : `tooltip-${ctx.id}--trigger`;
262
+ return (_b = (_a = ctx.ids) == null ? void 0 : _a.trigger) != null ? _b : `tooltip:${ctx.id}:trigger`;
263
263
  },
264
264
  getContentId: (ctx) => {
265
265
  var _a, _b;
266
- return (_b = (_a = ctx.ids) == null ? void 0 : _a.content) != null ? _b : `tooltip-${ctx.id}--content`;
266
+ return (_b = (_a = ctx.ids) == null ? void 0 : _a.content) != null ? _b : `tooltip:${ctx.id}:content`;
267
267
  },
268
- getArrowId: (ctx) => `tooltip-${ctx.id}--arrow`,
269
- getPositionerId: (ctx) => `tooltip-${ctx.id}--popper`,
268
+ getArrowId: (ctx) => `tooltip:${ctx.id}:arrow`,
269
+ getPositionerId: (ctx) => `tooltip:${ctx.id}:popper`,
270
270
  portalId: "tooltip-portal",
271
271
  getTriggerEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getTriggerId(ctx)),
272
272
  getContentEl: (ctx) => dom.getDoc(ctx).getElementById(dom.getContentId(ctx)),
@@ -275,7 +275,7 @@ var dom = {
275
275
  getScrollParent: (ctx) => getScrollParent(dom.getTriggerEl(ctx)),
276
276
  getPortalEl: (ctx) => dom.getDoc(ctx).getElementById(dom.portalId),
277
277
  createPortalEl: (ctx) => {
278
- const portal = dom.getDoc(ctx).createElement("tooltip-portal");
278
+ const portal = dom.getDoc(ctx).createElement(dom.portalId);
279
279
  portal.id = dom.portalId;
280
280
  return portal;
281
281
  }
@@ -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