@zag-js/tooltip 0.0.0-dev-20240605203045 → 0.0.0-dev-20240607175637

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
@@ -83,88 +83,98 @@ function connect(state, send, normalize) {
83
83
  reposition(options = {}) {
84
84
  send({ type: "POSITIONING.SET", options });
85
85
  },
86
- getTriggerProps: () => normalize.button({
87
- ...parts.trigger.attrs,
88
- id: triggerId,
89
- dir: state.context.dir,
90
- "data-expanded": (0, import_dom_query2.dataAttr)(open),
91
- "data-state": open ? "open" : "closed",
92
- "aria-describedby": open ? contentId : void 0,
93
- onClick() {
94
- if (disabled)
95
- return;
96
- send("CLOSE");
97
- },
98
- onFocus() {
99
- if (disabled || state.event.type === "POINTER_DOWN")
100
- return;
101
- send("OPEN");
102
- },
103
- onBlur() {
104
- if (disabled)
105
- return;
106
- if (id === store.id) {
86
+ getTriggerProps() {
87
+ return normalize.button({
88
+ ...parts.trigger.attrs,
89
+ id: triggerId,
90
+ dir: state.context.dir,
91
+ "data-expanded": (0, import_dom_query2.dataAttr)(open),
92
+ "data-state": open ? "open" : "closed",
93
+ "aria-describedby": open ? contentId : void 0,
94
+ onClick() {
95
+ if (disabled)
96
+ return;
107
97
  send("CLOSE");
98
+ },
99
+ onFocus() {
100
+ if (disabled || state.event.type === "POINTER_DOWN")
101
+ return;
102
+ send("OPEN");
103
+ },
104
+ onBlur() {
105
+ if (disabled)
106
+ return;
107
+ if (id === store.id) {
108
+ send("CLOSE");
109
+ }
110
+ },
111
+ onPointerDown() {
112
+ if (disabled || !state.context.closeOnPointerDown)
113
+ return;
114
+ if (id === store.id) {
115
+ send("CLOSE");
116
+ }
117
+ },
118
+ onPointerMove(event) {
119
+ if (disabled || event.pointerType === "touch")
120
+ return;
121
+ send("POINTER_MOVE");
122
+ },
123
+ onPointerLeave() {
124
+ if (disabled)
125
+ return;
126
+ send("POINTER_LEAVE");
127
+ },
128
+ onPointerCancel() {
129
+ if (disabled)
130
+ return;
131
+ send("POINTER_LEAVE");
108
132
  }
109
- },
110
- onPointerDown() {
111
- if (disabled || !state.context.closeOnPointerDown)
112
- return;
113
- if (id === store.id) {
114
- send("CLOSE");
133
+ });
134
+ },
135
+ getArrowProps() {
136
+ return normalize.element({
137
+ id: dom.getArrowId(state.context),
138
+ ...parts.arrow.attrs,
139
+ dir: state.context.dir,
140
+ style: popperStyles.arrow
141
+ });
142
+ },
143
+ getArrowTipProps() {
144
+ return normalize.element({
145
+ ...parts.arrowTip.attrs,
146
+ dir: state.context.dir,
147
+ style: popperStyles.arrowTip
148
+ });
149
+ },
150
+ getPositionerProps() {
151
+ return normalize.element({
152
+ id: dom.getPositionerId(state.context),
153
+ ...parts.positioner.attrs,
154
+ dir: state.context.dir,
155
+ style: popperStyles.floating
156
+ });
157
+ },
158
+ getContentProps() {
159
+ return normalize.element({
160
+ ...parts.content.attrs,
161
+ dir: state.context.dir,
162
+ hidden: !open,
163
+ "data-state": open ? "open" : "closed",
164
+ role: hasAriaLabel ? void 0 : "tooltip",
165
+ id: hasAriaLabel ? void 0 : contentId,
166
+ "data-placement": state.context.currentPlacement,
167
+ onPointerEnter() {
168
+ send("CONTENT.POINTER_MOVE");
169
+ },
170
+ onPointerLeave() {
171
+ send("CONTENT.POINTER_LEAVE");
172
+ },
173
+ style: {
174
+ pointerEvents: state.context.interactive ? "auto" : "none"
115
175
  }
116
- },
117
- onPointerMove(event) {
118
- if (disabled || event.pointerType === "touch")
119
- return;
120
- send("POINTER_MOVE");
121
- },
122
- onPointerLeave() {
123
- if (disabled)
124
- return;
125
- send("POINTER_LEAVE");
126
- },
127
- onPointerCancel() {
128
- if (disabled)
129
- return;
130
- send("POINTER_LEAVE");
131
- }
132
- }),
133
- getArrowProps: () => normalize.element({
134
- id: dom.getArrowId(state.context),
135
- ...parts.arrow.attrs,
136
- dir: state.context.dir,
137
- style: popperStyles.arrow
138
- }),
139
- getArrowTipProps: () => normalize.element({
140
- ...parts.arrowTip.attrs,
141
- dir: state.context.dir,
142
- style: popperStyles.arrowTip
143
- }),
144
- getPositionerProps: () => normalize.element({
145
- id: dom.getPositionerId(state.context),
146
- ...parts.positioner.attrs,
147
- dir: state.context.dir,
148
- style: popperStyles.floating
149
- }),
150
- getContentProps: () => normalize.element({
151
- ...parts.content.attrs,
152
- dir: state.context.dir,
153
- hidden: !open,
154
- "data-state": open ? "open" : "closed",
155
- role: hasAriaLabel ? void 0 : "tooltip",
156
- id: hasAriaLabel ? void 0 : contentId,
157
- "data-placement": state.context.currentPlacement,
158
- onPointerEnter() {
159
- send("CONTENT.POINTER_MOVE");
160
- },
161
- onPointerLeave() {
162
- send("CONTENT.POINTER_LEAVE");
163
- },
164
- style: {
165
- pointerEvents: state.context.interactive ? "auto" : "none"
166
- }
167
- })
176
+ });
177
+ }
168
178
  };
169
179
  }
170
180
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/tooltip.anatomy.ts","../src/tooltip.connect.ts","../src/tooltip.dom.ts","../src/tooltip.store.ts","../src/tooltip.machine.ts","../src/tooltip.props.ts"],"sourcesContent":["export { anatomy } from \"./tooltip.anatomy\"\nexport { connect } from \"./tooltip.connect\"\nexport { machine } from \"./tooltip.machine\"\nexport * from \"./tooltip.props\"\nexport type {\n MachineApi as Api,\n UserDefinedContext as Context,\n ElementIds,\n OpenChangeDetails,\n Placement,\n PositioningOptions,\n} from \"./tooltip.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"tooltip\").parts(\"trigger\", \"arrow\", \"arrowTip\", \"positioner\", \"content\")\nexport const parts = anatomy.build()\n","import { dataAttr } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./tooltip.anatomy\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineApi, Send, State } from \"./tooltip.types\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const id = state.context.id\n const hasAriaLabel = state.context.hasAriaLabel\n\n const open = state.hasTag(\"open\")\n\n const triggerId = dom.getTriggerId(state.context)\n const contentId = dom.getContentId(state.context)\n\n const disabled = state.context.disabled\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n return {\n open: open,\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n\n getTriggerProps: () =>\n normalize.button({\n ...parts.trigger.attrs,\n id: triggerId,\n dir: state.context.dir,\n \"data-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-describedby\": open ? contentId : undefined,\n onClick() {\n if (disabled) return\n send(\"CLOSE\")\n },\n onFocus() {\n if (disabled || state.event.type === \"POINTER_DOWN\") return\n send(\"OPEN\")\n },\n onBlur() {\n if (disabled) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerDown() {\n if (disabled || !state.context.closeOnPointerDown) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerMove(event) {\n if (disabled || event.pointerType === \"touch\") return\n send(\"POINTER_MOVE\")\n },\n onPointerLeave() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n onPointerCancel() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n }),\n\n getArrowProps: () =>\n normalize.element({\n id: dom.getArrowId(state.context),\n ...parts.arrow.attrs,\n dir: state.context.dir,\n style: popperStyles.arrow,\n }),\n\n getArrowTipProps: () =>\n normalize.element({\n ...parts.arrowTip.attrs,\n dir: state.context.dir,\n style: popperStyles.arrowTip,\n }),\n\n getPositionerProps: () =>\n normalize.element({\n id: dom.getPositionerId(state.context),\n ...parts.positioner.attrs,\n dir: state.context.dir,\n style: popperStyles.floating,\n }),\n\n getContentProps: () =>\n normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: hasAriaLabel ? undefined : \"tooltip\",\n id: hasAriaLabel ? undefined : contentId,\n \"data-placement\": state.context.currentPlacement,\n onPointerEnter() {\n send(\"CONTENT.POINTER_MOVE\")\n },\n onPointerLeave() {\n send(\"CONTENT.POINTER_LEAVE\")\n },\n style: {\n pointerEvents: state.context.interactive ? \"auto\" : \"none\",\n },\n }),\n }\n}\n","import { createScope } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./tooltip.types\"\n\nexport const dom = createScope({\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `tooltip:${ctx.id}:trigger`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `tooltip:${ctx.id}:content`,\n getArrowId: (ctx: Ctx) => ctx.ids?.arrow ?? `tooltip:${ctx.id}:arrow`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `tooltip:${ctx.id}:popper`,\n\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getArrowEl: (ctx: Ctx) => dom.getById(ctx, dom.getArrowId(ctx)),\n})\n","import { proxy } from \"@zag-js/core\"\n\ntype Id = string | null\n\ninterface TooltipStore {\n id: Id\n prevId: Id\n setId: (val: Id) => void\n}\n\nexport const store = proxy<TooltipStore>({\n id: null,\n prevId: null,\n setId(val) {\n this.prevId = this.id\n this.id = val\n },\n})\n","import { createMachine, guards, subscribe } from \"@zag-js/core\"\nimport { addDomEvent } from \"@zag-js/dom-event\"\nimport { getOverflowAncestors, isHTMLElement, isSafari } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./tooltip.types\"\n\nconst { and, not } = guards\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"tooltip\",\n initial: ctx.open ? \"open\" : \"closed\",\n\n context: {\n openDelay: 1000,\n closeDelay: 500,\n closeOnPointerDown: true,\n closeOnEscape: true,\n interactive: false,\n ...ctx,\n currentPlacement: undefined,\n hasPointerMoveOpened: false,\n positioning: {\n placement: \"bottom\",\n ...ctx.positioning,\n },\n },\n\n computed: {\n hasAriaLabel: (ctx) => !!ctx[\"aria-label\"],\n },\n\n watch: {\n disabled: [\"closeIfDisabled\"],\n open: [\"toggleVisibility\"],\n },\n\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearGlobalId\"],\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n POINTER_LEAVE: {\n actions: [\"clearPointerMoveOpened\"],\n },\n POINTER_MOVE: [\n {\n guard: and(\"noVisibleTooltip\", not(\"hasPointerMoveOpened\")),\n target: \"opening\",\n },\n {\n guard: not(\"hasPointerMoveOpened\"),\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n },\n\n opening: {\n tags: [\"closed\"],\n activities: [\"trackScroll\", \"trackPointerlockChange\"],\n after: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n \"CONTROLLED.CLOSE\": \"closed\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n },\n },\n\n open: {\n tags: [\"open\"],\n activities: [\n \"trackEscapeKey\",\n \"trackDisabledTriggerOnSafari\",\n \"trackScroll\",\n \"trackPointerlockChange\",\n \"trackPositioning\",\n ],\n entry: [\"setGlobalId\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n POINTER_LEAVE: [\n {\n guard: \"isVisible\",\n target: \"closing\",\n actions: [\"clearPointerMoveOpened\"],\n },\n // == group ==\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n \"CONTENT.POINTER_LEAVE\": {\n guard: \"isInteractive\",\n target: \"closing\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n\n closing: {\n tags: [\"open\"],\n activities: [\"trackStore\", \"trackPositioning\"],\n after: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n \"CONTROLLED.OPEN\": \"open\",\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n POINTER_MOVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n \"CONTENT.POINTER_MOVE\": {\n guard: \"isInteractive\",\n target: \"open\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n },\n },\n {\n activities: {\n trackPositioning(ctx) {\n ctx.currentPlacement = ctx.positioning.placement\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n return getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n trackPointerlockChange(ctx, _evt, { send }) {\n const onChange = () => send({ type: \"CLOSE\", src: \"pointerlock:change\" })\n return addDomEvent(dom.getDoc(ctx), \"pointerlockchange\", onChange, false)\n },\n trackScroll(ctx, _evt, { send }) {\n const triggerEl = dom.getTriggerEl(ctx)\n if (!triggerEl) return\n\n const overflowParents = getOverflowAncestors(triggerEl)\n const cleanups = overflowParents.map((overflowParent) =>\n addDomEvent(overflowParent, \"scroll\", () => send({ type: \"CLOSE\", src: \"scroll\" }), {\n passive: true,\n capture: true,\n }),\n )\n\n return () => {\n cleanups.forEach((fn) => fn?.())\n }\n },\n trackStore(ctx, _evt, { send }) {\n return subscribe(store, () => {\n if (store.id !== ctx.id) {\n send({ type: \"CLOSE\", src: \"id:change\" })\n }\n })\n },\n trackDisabledTriggerOnSafari(ctx, _evt, { send }) {\n if (!isSafari()) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"pointermove\", (event) => {\n const selector = \"[data-part=trigger][data-expanded]\"\n if (isHTMLElement(event.target) && event.target.closest(selector)) return\n send(\"POINTER_LEAVE\")\n })\n },\n trackEscapeKey(ctx, _evt, { send }) {\n if (!ctx.closeOnEscape) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"keydown\", (event) => {\n if (event.key === \"Escape\") {\n send(\"CLOSE\")\n }\n })\n },\n },\n actions: {\n setGlobalId(ctx) {\n store.setId(ctx.id)\n },\n clearGlobalId(ctx) {\n if (ctx.id === store.id) {\n store.setId(null)\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n closeIfDisabled(ctx, _evt, { send }) {\n if (!ctx.disabled) return\n send({ type: \"CLOSE\", src: \"disabled:change\" })\n },\n reposition(ctx, evt) {\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n setPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = true\n },\n clearPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = false\n },\n },\n guards: {\n noVisibleTooltip: () => store.id === null,\n isVisible: (ctx) => ctx.id === store.id,\n isInteractive: (ctx) => ctx.interactive,\n hasPointerMoveOpened: (ctx) => !!ctx.hasPointerMoveOpened,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n },\n delays: {\n OPEN_DELAY: (ctx) => ctx.openDelay,\n CLOSE_DELAY: (ctx) => ctx.closeDelay,\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { UserDefinedContext } from \"./tooltip.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"aria-label\",\n \"closeDelay\",\n \"closeOnEscape\",\n \"closeOnPointerDown\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"interactive\",\n \"onOpenChange\",\n \"open.controlled\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n"],"mappings":"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","names":["import_dom_query","import_core","import_dom_query","import_popper","ctx","import_utils"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/tooltip.anatomy.ts","../src/tooltip.connect.ts","../src/tooltip.dom.ts","../src/tooltip.store.ts","../src/tooltip.machine.ts","../src/tooltip.props.ts"],"sourcesContent":["export { anatomy } from \"./tooltip.anatomy\"\nexport { connect } from \"./tooltip.connect\"\nexport { machine } from \"./tooltip.machine\"\nexport * from \"./tooltip.props\"\nexport type {\n MachineApi as Api,\n UserDefinedContext as Context,\n ElementIds,\n OpenChangeDetails,\n Placement,\n PositioningOptions,\n} from \"./tooltip.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"tooltip\").parts(\"trigger\", \"arrow\", \"arrowTip\", \"positioner\", \"content\")\nexport const parts = anatomy.build()\n","import { dataAttr } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./tooltip.anatomy\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineApi, Send, State } from \"./tooltip.types\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const id = state.context.id\n const hasAriaLabel = state.context.hasAriaLabel\n\n const open = state.hasTag(\"open\")\n\n const triggerId = dom.getTriggerId(state.context)\n const contentId = dom.getContentId(state.context)\n\n const disabled = state.context.disabled\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n return {\n open: open,\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: triggerId,\n dir: state.context.dir,\n \"data-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-describedby\": open ? contentId : undefined,\n onClick() {\n if (disabled) return\n send(\"CLOSE\")\n },\n onFocus() {\n if (disabled || state.event.type === \"POINTER_DOWN\") return\n send(\"OPEN\")\n },\n onBlur() {\n if (disabled) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerDown() {\n if (disabled || !state.context.closeOnPointerDown) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerMove(event) {\n if (disabled || event.pointerType === \"touch\") return\n send(\"POINTER_MOVE\")\n },\n onPointerLeave() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n onPointerCancel() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n })\n },\n\n getArrowProps() {\n return normalize.element({\n id: dom.getArrowId(state.context),\n ...parts.arrow.attrs,\n dir: state.context.dir,\n style: popperStyles.arrow,\n })\n },\n\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: state.context.dir,\n style: popperStyles.arrowTip,\n })\n },\n\n getPositionerProps() {\n return normalize.element({\n id: dom.getPositionerId(state.context),\n ...parts.positioner.attrs,\n dir: state.context.dir,\n style: popperStyles.floating,\n })\n },\n\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: hasAriaLabel ? undefined : \"tooltip\",\n id: hasAriaLabel ? undefined : contentId,\n \"data-placement\": state.context.currentPlacement,\n onPointerEnter() {\n send(\"CONTENT.POINTER_MOVE\")\n },\n onPointerLeave() {\n send(\"CONTENT.POINTER_LEAVE\")\n },\n style: {\n pointerEvents: state.context.interactive ? \"auto\" : \"none\",\n },\n })\n },\n }\n}\n","import { createScope } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./tooltip.types\"\n\nexport const dom = createScope({\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `tooltip:${ctx.id}:trigger`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `tooltip:${ctx.id}:content`,\n getArrowId: (ctx: Ctx) => ctx.ids?.arrow ?? `tooltip:${ctx.id}:arrow`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `tooltip:${ctx.id}:popper`,\n\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getArrowEl: (ctx: Ctx) => dom.getById(ctx, dom.getArrowId(ctx)),\n})\n","import { proxy } from \"@zag-js/core\"\n\ntype Id = string | null\n\ninterface TooltipStore {\n id: Id\n prevId: Id\n setId: (val: Id) => void\n}\n\nexport const store = proxy<TooltipStore>({\n id: null,\n prevId: null,\n setId(val) {\n this.prevId = this.id\n this.id = val\n },\n})\n","import { createMachine, guards, subscribe } from \"@zag-js/core\"\nimport { addDomEvent } from \"@zag-js/dom-event\"\nimport { getOverflowAncestors, isHTMLElement, isSafari } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./tooltip.types\"\n\nconst { and, not } = guards\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"tooltip\",\n initial: ctx.open ? \"open\" : \"closed\",\n\n context: {\n openDelay: 1000,\n closeDelay: 500,\n closeOnPointerDown: true,\n closeOnEscape: true,\n interactive: false,\n ...ctx,\n currentPlacement: undefined,\n hasPointerMoveOpened: false,\n positioning: {\n placement: \"bottom\",\n ...ctx.positioning,\n },\n },\n\n computed: {\n hasAriaLabel: (ctx) => !!ctx[\"aria-label\"],\n },\n\n watch: {\n disabled: [\"closeIfDisabled\"],\n open: [\"toggleVisibility\"],\n },\n\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearGlobalId\"],\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n POINTER_LEAVE: {\n actions: [\"clearPointerMoveOpened\"],\n },\n POINTER_MOVE: [\n {\n guard: and(\"noVisibleTooltip\", not(\"hasPointerMoveOpened\")),\n target: \"opening\",\n },\n {\n guard: not(\"hasPointerMoveOpened\"),\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n },\n\n opening: {\n tags: [\"closed\"],\n activities: [\"trackScroll\", \"trackPointerlockChange\"],\n after: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n \"CONTROLLED.CLOSE\": \"closed\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n },\n },\n\n open: {\n tags: [\"open\"],\n activities: [\n \"trackEscapeKey\",\n \"trackDisabledTriggerOnSafari\",\n \"trackScroll\",\n \"trackPointerlockChange\",\n \"trackPositioning\",\n ],\n entry: [\"setGlobalId\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n POINTER_LEAVE: [\n {\n guard: \"isVisible\",\n target: \"closing\",\n actions: [\"clearPointerMoveOpened\"],\n },\n // == group ==\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n \"CONTENT.POINTER_LEAVE\": {\n guard: \"isInteractive\",\n target: \"closing\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n\n closing: {\n tags: [\"open\"],\n activities: [\"trackStore\", \"trackPositioning\"],\n after: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n \"CONTROLLED.OPEN\": \"open\",\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n POINTER_MOVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n \"CONTENT.POINTER_MOVE\": {\n guard: \"isInteractive\",\n target: \"open\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n },\n },\n {\n activities: {\n trackPositioning(ctx) {\n ctx.currentPlacement = ctx.positioning.placement\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n return getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n trackPointerlockChange(ctx, _evt, { send }) {\n const onChange = () => send({ type: \"CLOSE\", src: \"pointerlock:change\" })\n return addDomEvent(dom.getDoc(ctx), \"pointerlockchange\", onChange, false)\n },\n trackScroll(ctx, _evt, { send }) {\n const triggerEl = dom.getTriggerEl(ctx)\n if (!triggerEl) return\n\n const overflowParents = getOverflowAncestors(triggerEl)\n const cleanups = overflowParents.map((overflowParent) =>\n addDomEvent(overflowParent, \"scroll\", () => send({ type: \"CLOSE\", src: \"scroll\" }), {\n passive: true,\n capture: true,\n }),\n )\n\n return () => {\n cleanups.forEach((fn) => fn?.())\n }\n },\n trackStore(ctx, _evt, { send }) {\n return subscribe(store, () => {\n if (store.id !== ctx.id) {\n send({ type: \"CLOSE\", src: \"id:change\" })\n }\n })\n },\n trackDisabledTriggerOnSafari(ctx, _evt, { send }) {\n if (!isSafari()) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"pointermove\", (event) => {\n const selector = \"[data-part=trigger][data-expanded]\"\n if (isHTMLElement(event.target) && event.target.closest(selector)) return\n send(\"POINTER_LEAVE\")\n })\n },\n trackEscapeKey(ctx, _evt, { send }) {\n if (!ctx.closeOnEscape) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"keydown\", (event) => {\n if (event.key === \"Escape\") {\n send(\"CLOSE\")\n }\n })\n },\n },\n actions: {\n setGlobalId(ctx) {\n store.setId(ctx.id)\n },\n clearGlobalId(ctx) {\n if (ctx.id === store.id) {\n store.setId(null)\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n closeIfDisabled(ctx, _evt, { send }) {\n if (!ctx.disabled) return\n send({ type: \"CLOSE\", src: \"disabled:change\" })\n },\n reposition(ctx, evt) {\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n setPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = true\n },\n clearPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = false\n },\n },\n guards: {\n noVisibleTooltip: () => store.id === null,\n isVisible: (ctx) => ctx.id === store.id,\n isInteractive: (ctx) => ctx.interactive,\n hasPointerMoveOpened: (ctx) => !!ctx.hasPointerMoveOpened,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n },\n delays: {\n OPEN_DELAY: (ctx) => ctx.openDelay,\n CLOSE_DELAY: (ctx) => ctx.closeDelay,\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { UserDefinedContext } from \"./tooltip.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"aria-label\",\n \"closeDelay\",\n \"closeOnEscape\",\n \"closeOnPointerDown\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"interactive\",\n \"onOpenChange\",\n \"open.controlled\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n"],"mappings":"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","names":["import_dom_query","import_core","import_dom_query","import_popper","ctx","import_utils"]}
package/dist/index.mjs CHANGED
@@ -53,88 +53,98 @@ function connect(state, send, normalize) {
53
53
  reposition(options = {}) {
54
54
  send({ type: "POSITIONING.SET", options });
55
55
  },
56
- getTriggerProps: () => normalize.button({
57
- ...parts.trigger.attrs,
58
- id: triggerId,
59
- dir: state.context.dir,
60
- "data-expanded": dataAttr(open),
61
- "data-state": open ? "open" : "closed",
62
- "aria-describedby": open ? contentId : void 0,
63
- onClick() {
64
- if (disabled)
65
- return;
66
- send("CLOSE");
67
- },
68
- onFocus() {
69
- if (disabled || state.event.type === "POINTER_DOWN")
70
- return;
71
- send("OPEN");
72
- },
73
- onBlur() {
74
- if (disabled)
75
- return;
76
- if (id === store.id) {
56
+ getTriggerProps() {
57
+ return normalize.button({
58
+ ...parts.trigger.attrs,
59
+ id: triggerId,
60
+ dir: state.context.dir,
61
+ "data-expanded": dataAttr(open),
62
+ "data-state": open ? "open" : "closed",
63
+ "aria-describedby": open ? contentId : void 0,
64
+ onClick() {
65
+ if (disabled)
66
+ return;
77
67
  send("CLOSE");
68
+ },
69
+ onFocus() {
70
+ if (disabled || state.event.type === "POINTER_DOWN")
71
+ return;
72
+ send("OPEN");
73
+ },
74
+ onBlur() {
75
+ if (disabled)
76
+ return;
77
+ if (id === store.id) {
78
+ send("CLOSE");
79
+ }
80
+ },
81
+ onPointerDown() {
82
+ if (disabled || !state.context.closeOnPointerDown)
83
+ return;
84
+ if (id === store.id) {
85
+ send("CLOSE");
86
+ }
87
+ },
88
+ onPointerMove(event) {
89
+ if (disabled || event.pointerType === "touch")
90
+ return;
91
+ send("POINTER_MOVE");
92
+ },
93
+ onPointerLeave() {
94
+ if (disabled)
95
+ return;
96
+ send("POINTER_LEAVE");
97
+ },
98
+ onPointerCancel() {
99
+ if (disabled)
100
+ return;
101
+ send("POINTER_LEAVE");
78
102
  }
79
- },
80
- onPointerDown() {
81
- if (disabled || !state.context.closeOnPointerDown)
82
- return;
83
- if (id === store.id) {
84
- send("CLOSE");
103
+ });
104
+ },
105
+ getArrowProps() {
106
+ return normalize.element({
107
+ id: dom.getArrowId(state.context),
108
+ ...parts.arrow.attrs,
109
+ dir: state.context.dir,
110
+ style: popperStyles.arrow
111
+ });
112
+ },
113
+ getArrowTipProps() {
114
+ return normalize.element({
115
+ ...parts.arrowTip.attrs,
116
+ dir: state.context.dir,
117
+ style: popperStyles.arrowTip
118
+ });
119
+ },
120
+ getPositionerProps() {
121
+ return normalize.element({
122
+ id: dom.getPositionerId(state.context),
123
+ ...parts.positioner.attrs,
124
+ dir: state.context.dir,
125
+ style: popperStyles.floating
126
+ });
127
+ },
128
+ getContentProps() {
129
+ return normalize.element({
130
+ ...parts.content.attrs,
131
+ dir: state.context.dir,
132
+ hidden: !open,
133
+ "data-state": open ? "open" : "closed",
134
+ role: hasAriaLabel ? void 0 : "tooltip",
135
+ id: hasAriaLabel ? void 0 : contentId,
136
+ "data-placement": state.context.currentPlacement,
137
+ onPointerEnter() {
138
+ send("CONTENT.POINTER_MOVE");
139
+ },
140
+ onPointerLeave() {
141
+ send("CONTENT.POINTER_LEAVE");
142
+ },
143
+ style: {
144
+ pointerEvents: state.context.interactive ? "auto" : "none"
85
145
  }
86
- },
87
- onPointerMove(event) {
88
- if (disabled || event.pointerType === "touch")
89
- return;
90
- send("POINTER_MOVE");
91
- },
92
- onPointerLeave() {
93
- if (disabled)
94
- return;
95
- send("POINTER_LEAVE");
96
- },
97
- onPointerCancel() {
98
- if (disabled)
99
- return;
100
- send("POINTER_LEAVE");
101
- }
102
- }),
103
- getArrowProps: () => normalize.element({
104
- id: dom.getArrowId(state.context),
105
- ...parts.arrow.attrs,
106
- dir: state.context.dir,
107
- style: popperStyles.arrow
108
- }),
109
- getArrowTipProps: () => normalize.element({
110
- ...parts.arrowTip.attrs,
111
- dir: state.context.dir,
112
- style: popperStyles.arrowTip
113
- }),
114
- getPositionerProps: () => normalize.element({
115
- id: dom.getPositionerId(state.context),
116
- ...parts.positioner.attrs,
117
- dir: state.context.dir,
118
- style: popperStyles.floating
119
- }),
120
- getContentProps: () => normalize.element({
121
- ...parts.content.attrs,
122
- dir: state.context.dir,
123
- hidden: !open,
124
- "data-state": open ? "open" : "closed",
125
- role: hasAriaLabel ? void 0 : "tooltip",
126
- id: hasAriaLabel ? void 0 : contentId,
127
- "data-placement": state.context.currentPlacement,
128
- onPointerEnter() {
129
- send("CONTENT.POINTER_MOVE");
130
- },
131
- onPointerLeave() {
132
- send("CONTENT.POINTER_LEAVE");
133
- },
134
- style: {
135
- pointerEvents: state.context.interactive ? "auto" : "none"
136
- }
137
- })
146
+ });
147
+ }
138
148
  };
139
149
  }
140
150
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tooltip.anatomy.ts","../src/tooltip.connect.ts","../src/tooltip.dom.ts","../src/tooltip.store.ts","../src/tooltip.machine.ts","../src/tooltip.props.ts"],"sourcesContent":["import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"tooltip\").parts(\"trigger\", \"arrow\", \"arrowTip\", \"positioner\", \"content\")\nexport const parts = anatomy.build()\n","import { dataAttr } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./tooltip.anatomy\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineApi, Send, State } from \"./tooltip.types\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const id = state.context.id\n const hasAriaLabel = state.context.hasAriaLabel\n\n const open = state.hasTag(\"open\")\n\n const triggerId = dom.getTriggerId(state.context)\n const contentId = dom.getContentId(state.context)\n\n const disabled = state.context.disabled\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n return {\n open: open,\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n\n getTriggerProps: () =>\n normalize.button({\n ...parts.trigger.attrs,\n id: triggerId,\n dir: state.context.dir,\n \"data-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-describedby\": open ? contentId : undefined,\n onClick() {\n if (disabled) return\n send(\"CLOSE\")\n },\n onFocus() {\n if (disabled || state.event.type === \"POINTER_DOWN\") return\n send(\"OPEN\")\n },\n onBlur() {\n if (disabled) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerDown() {\n if (disabled || !state.context.closeOnPointerDown) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerMove(event) {\n if (disabled || event.pointerType === \"touch\") return\n send(\"POINTER_MOVE\")\n },\n onPointerLeave() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n onPointerCancel() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n }),\n\n getArrowProps: () =>\n normalize.element({\n id: dom.getArrowId(state.context),\n ...parts.arrow.attrs,\n dir: state.context.dir,\n style: popperStyles.arrow,\n }),\n\n getArrowTipProps: () =>\n normalize.element({\n ...parts.arrowTip.attrs,\n dir: state.context.dir,\n style: popperStyles.arrowTip,\n }),\n\n getPositionerProps: () =>\n normalize.element({\n id: dom.getPositionerId(state.context),\n ...parts.positioner.attrs,\n dir: state.context.dir,\n style: popperStyles.floating,\n }),\n\n getContentProps: () =>\n normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: hasAriaLabel ? undefined : \"tooltip\",\n id: hasAriaLabel ? undefined : contentId,\n \"data-placement\": state.context.currentPlacement,\n onPointerEnter() {\n send(\"CONTENT.POINTER_MOVE\")\n },\n onPointerLeave() {\n send(\"CONTENT.POINTER_LEAVE\")\n },\n style: {\n pointerEvents: state.context.interactive ? \"auto\" : \"none\",\n },\n }),\n }\n}\n","import { createScope } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./tooltip.types\"\n\nexport const dom = createScope({\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `tooltip:${ctx.id}:trigger`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `tooltip:${ctx.id}:content`,\n getArrowId: (ctx: Ctx) => ctx.ids?.arrow ?? `tooltip:${ctx.id}:arrow`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `tooltip:${ctx.id}:popper`,\n\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getArrowEl: (ctx: Ctx) => dom.getById(ctx, dom.getArrowId(ctx)),\n})\n","import { proxy } from \"@zag-js/core\"\n\ntype Id = string | null\n\ninterface TooltipStore {\n id: Id\n prevId: Id\n setId: (val: Id) => void\n}\n\nexport const store = proxy<TooltipStore>({\n id: null,\n prevId: null,\n setId(val) {\n this.prevId = this.id\n this.id = val\n },\n})\n","import { createMachine, guards, subscribe } from \"@zag-js/core\"\nimport { addDomEvent } from \"@zag-js/dom-event\"\nimport { getOverflowAncestors, isHTMLElement, isSafari } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./tooltip.types\"\n\nconst { and, not } = guards\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"tooltip\",\n initial: ctx.open ? \"open\" : \"closed\",\n\n context: {\n openDelay: 1000,\n closeDelay: 500,\n closeOnPointerDown: true,\n closeOnEscape: true,\n interactive: false,\n ...ctx,\n currentPlacement: undefined,\n hasPointerMoveOpened: false,\n positioning: {\n placement: \"bottom\",\n ...ctx.positioning,\n },\n },\n\n computed: {\n hasAriaLabel: (ctx) => !!ctx[\"aria-label\"],\n },\n\n watch: {\n disabled: [\"closeIfDisabled\"],\n open: [\"toggleVisibility\"],\n },\n\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearGlobalId\"],\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n POINTER_LEAVE: {\n actions: [\"clearPointerMoveOpened\"],\n },\n POINTER_MOVE: [\n {\n guard: and(\"noVisibleTooltip\", not(\"hasPointerMoveOpened\")),\n target: \"opening\",\n },\n {\n guard: not(\"hasPointerMoveOpened\"),\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n },\n\n opening: {\n tags: [\"closed\"],\n activities: [\"trackScroll\", \"trackPointerlockChange\"],\n after: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n \"CONTROLLED.CLOSE\": \"closed\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n },\n },\n\n open: {\n tags: [\"open\"],\n activities: [\n \"trackEscapeKey\",\n \"trackDisabledTriggerOnSafari\",\n \"trackScroll\",\n \"trackPointerlockChange\",\n \"trackPositioning\",\n ],\n entry: [\"setGlobalId\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n POINTER_LEAVE: [\n {\n guard: \"isVisible\",\n target: \"closing\",\n actions: [\"clearPointerMoveOpened\"],\n },\n // == group ==\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n \"CONTENT.POINTER_LEAVE\": {\n guard: \"isInteractive\",\n target: \"closing\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n\n closing: {\n tags: [\"open\"],\n activities: [\"trackStore\", \"trackPositioning\"],\n after: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n \"CONTROLLED.OPEN\": \"open\",\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n POINTER_MOVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n \"CONTENT.POINTER_MOVE\": {\n guard: \"isInteractive\",\n target: \"open\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n },\n },\n {\n activities: {\n trackPositioning(ctx) {\n ctx.currentPlacement = ctx.positioning.placement\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n return getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n trackPointerlockChange(ctx, _evt, { send }) {\n const onChange = () => send({ type: \"CLOSE\", src: \"pointerlock:change\" })\n return addDomEvent(dom.getDoc(ctx), \"pointerlockchange\", onChange, false)\n },\n trackScroll(ctx, _evt, { send }) {\n const triggerEl = dom.getTriggerEl(ctx)\n if (!triggerEl) return\n\n const overflowParents = getOverflowAncestors(triggerEl)\n const cleanups = overflowParents.map((overflowParent) =>\n addDomEvent(overflowParent, \"scroll\", () => send({ type: \"CLOSE\", src: \"scroll\" }), {\n passive: true,\n capture: true,\n }),\n )\n\n return () => {\n cleanups.forEach((fn) => fn?.())\n }\n },\n trackStore(ctx, _evt, { send }) {\n return subscribe(store, () => {\n if (store.id !== ctx.id) {\n send({ type: \"CLOSE\", src: \"id:change\" })\n }\n })\n },\n trackDisabledTriggerOnSafari(ctx, _evt, { send }) {\n if (!isSafari()) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"pointermove\", (event) => {\n const selector = \"[data-part=trigger][data-expanded]\"\n if (isHTMLElement(event.target) && event.target.closest(selector)) return\n send(\"POINTER_LEAVE\")\n })\n },\n trackEscapeKey(ctx, _evt, { send }) {\n if (!ctx.closeOnEscape) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"keydown\", (event) => {\n if (event.key === \"Escape\") {\n send(\"CLOSE\")\n }\n })\n },\n },\n actions: {\n setGlobalId(ctx) {\n store.setId(ctx.id)\n },\n clearGlobalId(ctx) {\n if (ctx.id === store.id) {\n store.setId(null)\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n closeIfDisabled(ctx, _evt, { send }) {\n if (!ctx.disabled) return\n send({ type: \"CLOSE\", src: \"disabled:change\" })\n },\n reposition(ctx, evt) {\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n setPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = true\n },\n clearPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = false\n },\n },\n guards: {\n noVisibleTooltip: () => store.id === null,\n isVisible: (ctx) => ctx.id === store.id,\n isInteractive: (ctx) => ctx.interactive,\n hasPointerMoveOpened: (ctx) => !!ctx.hasPointerMoveOpened,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n },\n delays: {\n OPEN_DELAY: (ctx) => ctx.openDelay,\n CLOSE_DELAY: (ctx) => ctx.closeDelay,\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { UserDefinedContext } from \"./tooltip.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"aria-label\",\n \"closeDelay\",\n \"closeOnEscape\",\n \"closeOnPointerDown\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"interactive\",\n \"onOpenChange\",\n \"open.controlled\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n"],"mappings":"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","names":["ctx"]}
1
+ {"version":3,"sources":["../src/tooltip.anatomy.ts","../src/tooltip.connect.ts","../src/tooltip.dom.ts","../src/tooltip.store.ts","../src/tooltip.machine.ts","../src/tooltip.props.ts"],"sourcesContent":["import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"tooltip\").parts(\"trigger\", \"arrow\", \"arrowTip\", \"positioner\", \"content\")\nexport const parts = anatomy.build()\n","import { dataAttr } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./tooltip.anatomy\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineApi, Send, State } from \"./tooltip.types\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const id = state.context.id\n const hasAriaLabel = state.context.hasAriaLabel\n\n const open = state.hasTag(\"open\")\n\n const triggerId = dom.getTriggerId(state.context)\n const contentId = dom.getContentId(state.context)\n\n const disabled = state.context.disabled\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n return {\n open: open,\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: triggerId,\n dir: state.context.dir,\n \"data-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-describedby\": open ? contentId : undefined,\n onClick() {\n if (disabled) return\n send(\"CLOSE\")\n },\n onFocus() {\n if (disabled || state.event.type === \"POINTER_DOWN\") return\n send(\"OPEN\")\n },\n onBlur() {\n if (disabled) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerDown() {\n if (disabled || !state.context.closeOnPointerDown) return\n if (id === store.id) {\n send(\"CLOSE\")\n }\n },\n onPointerMove(event) {\n if (disabled || event.pointerType === \"touch\") return\n send(\"POINTER_MOVE\")\n },\n onPointerLeave() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n onPointerCancel() {\n if (disabled) return\n send(\"POINTER_LEAVE\")\n },\n })\n },\n\n getArrowProps() {\n return normalize.element({\n id: dom.getArrowId(state.context),\n ...parts.arrow.attrs,\n dir: state.context.dir,\n style: popperStyles.arrow,\n })\n },\n\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: state.context.dir,\n style: popperStyles.arrowTip,\n })\n },\n\n getPositionerProps() {\n return normalize.element({\n id: dom.getPositionerId(state.context),\n ...parts.positioner.attrs,\n dir: state.context.dir,\n style: popperStyles.floating,\n })\n },\n\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: hasAriaLabel ? undefined : \"tooltip\",\n id: hasAriaLabel ? undefined : contentId,\n \"data-placement\": state.context.currentPlacement,\n onPointerEnter() {\n send(\"CONTENT.POINTER_MOVE\")\n },\n onPointerLeave() {\n send(\"CONTENT.POINTER_LEAVE\")\n },\n style: {\n pointerEvents: state.context.interactive ? \"auto\" : \"none\",\n },\n })\n },\n }\n}\n","import { createScope } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./tooltip.types\"\n\nexport const dom = createScope({\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `tooltip:${ctx.id}:trigger`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `tooltip:${ctx.id}:content`,\n getArrowId: (ctx: Ctx) => ctx.ids?.arrow ?? `tooltip:${ctx.id}:arrow`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `tooltip:${ctx.id}:popper`,\n\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getArrowEl: (ctx: Ctx) => dom.getById(ctx, dom.getArrowId(ctx)),\n})\n","import { proxy } from \"@zag-js/core\"\n\ntype Id = string | null\n\ninterface TooltipStore {\n id: Id\n prevId: Id\n setId: (val: Id) => void\n}\n\nexport const store = proxy<TooltipStore>({\n id: null,\n prevId: null,\n setId(val) {\n this.prevId = this.id\n this.id = val\n },\n})\n","import { createMachine, guards, subscribe } from \"@zag-js/core\"\nimport { addDomEvent } from \"@zag-js/dom-event\"\nimport { getOverflowAncestors, isHTMLElement, isSafari } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./tooltip.dom\"\nimport { store } from \"./tooltip.store\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./tooltip.types\"\n\nconst { and, not } = guards\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"tooltip\",\n initial: ctx.open ? \"open\" : \"closed\",\n\n context: {\n openDelay: 1000,\n closeDelay: 500,\n closeOnPointerDown: true,\n closeOnEscape: true,\n interactive: false,\n ...ctx,\n currentPlacement: undefined,\n hasPointerMoveOpened: false,\n positioning: {\n placement: \"bottom\",\n ...ctx.positioning,\n },\n },\n\n computed: {\n hasAriaLabel: (ctx) => !!ctx[\"aria-label\"],\n },\n\n watch: {\n disabled: [\"closeIfDisabled\"],\n open: [\"toggleVisibility\"],\n },\n\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearGlobalId\"],\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n POINTER_LEAVE: {\n actions: [\"clearPointerMoveOpened\"],\n },\n POINTER_MOVE: [\n {\n guard: and(\"noVisibleTooltip\", not(\"hasPointerMoveOpened\")),\n target: \"opening\",\n },\n {\n guard: not(\"hasPointerMoveOpened\"),\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n },\n\n opening: {\n tags: [\"closed\"],\n activities: [\"trackScroll\", \"trackPointerlockChange\"],\n after: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n \"CONTROLLED.CLOSE\": \"closed\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n },\n },\n\n open: {\n tags: [\"open\"],\n activities: [\n \"trackEscapeKey\",\n \"trackDisabledTriggerOnSafari\",\n \"trackScroll\",\n \"trackPointerlockChange\",\n \"trackPositioning\",\n ],\n entry: [\"setGlobalId\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n CLOSE: {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n POINTER_LEAVE: [\n {\n guard: \"isVisible\",\n target: \"closing\",\n actions: [\"clearPointerMoveOpened\"],\n },\n // == group ==\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"],\n },\n ],\n \"CONTENT.POINTER_LEAVE\": {\n guard: \"isInteractive\",\n target: \"closing\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n\n closing: {\n tags: [\"open\"],\n activities: [\"trackStore\", \"trackPositioning\"],\n after: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n },\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n \"CONTROLLED.OPEN\": \"open\",\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"],\n },\n ],\n POINTER_MOVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"],\n },\n ],\n \"CONTENT.POINTER_MOVE\": {\n guard: \"isInteractive\",\n target: \"open\",\n },\n \"POSITIONING.SET\": {\n actions: \"reposition\",\n },\n },\n },\n },\n },\n {\n activities: {\n trackPositioning(ctx) {\n ctx.currentPlacement = ctx.positioning.placement\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n return getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n trackPointerlockChange(ctx, _evt, { send }) {\n const onChange = () => send({ type: \"CLOSE\", src: \"pointerlock:change\" })\n return addDomEvent(dom.getDoc(ctx), \"pointerlockchange\", onChange, false)\n },\n trackScroll(ctx, _evt, { send }) {\n const triggerEl = dom.getTriggerEl(ctx)\n if (!triggerEl) return\n\n const overflowParents = getOverflowAncestors(triggerEl)\n const cleanups = overflowParents.map((overflowParent) =>\n addDomEvent(overflowParent, \"scroll\", () => send({ type: \"CLOSE\", src: \"scroll\" }), {\n passive: true,\n capture: true,\n }),\n )\n\n return () => {\n cleanups.forEach((fn) => fn?.())\n }\n },\n trackStore(ctx, _evt, { send }) {\n return subscribe(store, () => {\n if (store.id !== ctx.id) {\n send({ type: \"CLOSE\", src: \"id:change\" })\n }\n })\n },\n trackDisabledTriggerOnSafari(ctx, _evt, { send }) {\n if (!isSafari()) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"pointermove\", (event) => {\n const selector = \"[data-part=trigger][data-expanded]\"\n if (isHTMLElement(event.target) && event.target.closest(selector)) return\n send(\"POINTER_LEAVE\")\n })\n },\n trackEscapeKey(ctx, _evt, { send }) {\n if (!ctx.closeOnEscape) return\n const doc = dom.getDoc(ctx)\n return addDomEvent(doc, \"keydown\", (event) => {\n if (event.key === \"Escape\") {\n send(\"CLOSE\")\n }\n })\n },\n },\n actions: {\n setGlobalId(ctx) {\n store.setId(ctx.id)\n },\n clearGlobalId(ctx) {\n if (ctx.id === store.id) {\n store.setId(null)\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n closeIfDisabled(ctx, _evt, { send }) {\n if (!ctx.disabled) return\n send({ type: \"CLOSE\", src: \"disabled:change\" })\n },\n reposition(ctx, evt) {\n const getPositionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(dom.getTriggerEl(ctx), getPositionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n setPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = true\n },\n clearPointerMoveOpened(ctx) {\n ctx.hasPointerMoveOpened = false\n },\n },\n guards: {\n noVisibleTooltip: () => store.id === null,\n isVisible: (ctx) => ctx.id === store.id,\n isInteractive: (ctx) => ctx.interactive,\n hasPointerMoveOpened: (ctx) => !!ctx.hasPointerMoveOpened,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n },\n delays: {\n OPEN_DELAY: (ctx) => ctx.openDelay,\n CLOSE_DELAY: (ctx) => ctx.closeDelay,\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { UserDefinedContext } from \"./tooltip.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"aria-label\",\n \"closeDelay\",\n \"closeOnEscape\",\n \"closeOnPointerDown\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"interactive\",\n \"onOpenChange\",\n \"open.controlled\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n"],"mappings":";AAAA,SAAS,qBAAqB;AAEvB,IAAM,UAAU,cAAc,SAAS,EAAE,MAAM,WAAW,SAAS,YAAY,cAAc,SAAS;AACtG,IAAM,QAAQ,QAAQ,MAAM;;;ACHnC,SAAS,gBAAgB;AACzB,SAAS,0BAA0B;;;ACDnC,SAAS,mBAAmB;AAGrB,IAAM,MAAM,YAAY;AAAA,EAC7B,cAAc,CAAC,QAAa,IAAI,KAAK,WAAW,WAAW,IAAI,EAAE;AAAA,EACjE,cAAc,CAAC,QAAa,IAAI,KAAK,WAAW,WAAW,IAAI,EAAE;AAAA,EACjE,YAAY,CAAC,QAAa,IAAI,KAAK,SAAS,WAAW,IAAI,EAAE;AAAA,EAC7D,iBAAiB,CAAC,QAAa,IAAI,KAAK,cAAc,WAAW,IAAI,EAAE;AAAA,EAEvE,cAAc,CAAC,QAAa,IAAI,QAAQ,KAAK,IAAI,aAAa,GAAG,CAAC;AAAA,EAClE,cAAc,CAAC,QAAa,IAAI,QAAQ,KAAK,IAAI,aAAa,GAAG,CAAC;AAAA,EAClE,iBAAiB,CAAC,QAAa,IAAI,QAAQ,KAAK,IAAI,gBAAgB,GAAG,CAAC;AAAA,EACxE,YAAY,CAAC,QAAa,IAAI,QAAQ,KAAK,IAAI,WAAW,GAAG,CAAC;AAChE,CAAC;;;ACbD,SAAS,aAAa;AAUf,IAAM,QAAQ,MAAoB;AAAA,EACvC,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,MAAM,KAAK;AACT,SAAK,SAAS,KAAK;AACnB,SAAK,KAAK;AAAA,EACZ;AACF,CAAC;;;AFTM,SAAS,QAA6B,OAAc,MAAY,WAA6C;AAClH,QAAM,KAAK,MAAM,QAAQ;AACzB,QAAM,eAAe,MAAM,QAAQ;AAEnC,QAAM,OAAO,MAAM,OAAO,MAAM;AAEhC,QAAM,YAAY,IAAI,aAAa,MAAM,OAAO;AAChD,QAAM,YAAY,IAAI,aAAa,MAAM,OAAO;AAEhD,QAAM,WAAW,MAAM,QAAQ;AAE/B,QAAM,eAAe,mBAAmB;AAAA,IACtC,GAAG,MAAM,QAAQ;AAAA,IACjB,WAAW,MAAM,QAAQ;AAAA,EAC3B,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,UAAU;AAChB,UAAI,aAAa;AAAM;AACvB,WAAK,WAAW,SAAS,OAAO;AAAA,IAClC;AAAA,IACA,WAAW,UAAU,CAAC,GAAG;AACvB,WAAK,EAAE,MAAM,mBAAmB,QAAQ,CAAC;AAAA,IAC3C;AAAA,IAEA,kBAAkB;AAChB,aAAO,UAAU,OAAO;AAAA,QACtB,GAAG,MAAM,QAAQ;AAAA,QACjB,IAAI;AAAA,QACJ,KAAK,MAAM,QAAQ;AAAA,QACnB,iBAAiB,SAAS,IAAI;AAAA,QAC9B,cAAc,OAAO,SAAS;AAAA,QAC9B,oBAAoB,OAAO,YAAY;AAAA,QACvC,UAAU;AACR,cAAI;AAAU;AACd,eAAK,OAAO;AAAA,QACd;AAAA,QACA,UAAU;AACR,cAAI,YAAY,MAAM,MAAM,SAAS;AAAgB;AACrD,eAAK,MAAM;AAAA,QACb;AAAA,QACA,SAAS;AACP,cAAI;AAAU;AACd,cAAI,OAAO,MAAM,IAAI;AACnB,iBAAK,OAAO;AAAA,UACd;AAAA,QACF;AAAA,QACA,gBAAgB;AACd,cAAI,YAAY,CAAC,MAAM,QAAQ;AAAoB;AACnD,cAAI,OAAO,MAAM,IAAI;AACnB,iBAAK,OAAO;AAAA,UACd;AAAA,QACF;AAAA,QACA,cAAc,OAAO;AACnB,cAAI,YAAY,MAAM,gBAAgB;AAAS;AAC/C,eAAK,cAAc;AAAA,QACrB;AAAA,QACA,iBAAiB;AACf,cAAI;AAAU;AACd,eAAK,eAAe;AAAA,QACtB;AAAA,QACA,kBAAkB;AAChB,cAAI;AAAU;AACd,eAAK,eAAe;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,gBAAgB;AACd,aAAO,UAAU,QAAQ;AAAA,QACvB,IAAI,IAAI,WAAW,MAAM,OAAO;AAAA,QAChC,GAAG,MAAM,MAAM;AAAA,QACf,KAAK,MAAM,QAAQ;AAAA,QACnB,OAAO,aAAa;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,IAEA,mBAAmB;AACjB,aAAO,UAAU,QAAQ;AAAA,QACvB,GAAG,MAAM,SAAS;AAAA,QAClB,KAAK,MAAM,QAAQ;AAAA,QACnB,OAAO,aAAa;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,IAEA,qBAAqB;AACnB,aAAO,UAAU,QAAQ;AAAA,QACvB,IAAI,IAAI,gBAAgB,MAAM,OAAO;AAAA,QACrC,GAAG,MAAM,WAAW;AAAA,QACpB,KAAK,MAAM,QAAQ;AAAA,QACnB,OAAO,aAAa;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,IAEA,kBAAkB;AAChB,aAAO,UAAU,QAAQ;AAAA,QACvB,GAAG,MAAM,QAAQ;AAAA,QACjB,KAAK,MAAM,QAAQ;AAAA,QACnB,QAAQ,CAAC;AAAA,QACT,cAAc,OAAO,SAAS;AAAA,QAC9B,MAAM,eAAe,SAAY;AAAA,QACjC,IAAI,eAAe,SAAY;AAAA,QAC/B,kBAAkB,MAAM,QAAQ;AAAA,QAChC,iBAAiB;AACf,eAAK,sBAAsB;AAAA,QAC7B;AAAA,QACA,iBAAiB;AACf,eAAK,uBAAuB;AAAA,QAC9B;AAAA,QACA,OAAO;AAAA,UACL,eAAe,MAAM,QAAQ,cAAc,SAAS;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AG5HA,SAAS,eAAe,QAAQ,iBAAiB;AACjD,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB,eAAe,gBAAgB;AAC9D,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAKxB,IAAM,EAAE,KAAK,IAAI,IAAI;AAEd,SAAS,QAAQ,aAAiC;AACvD,QAAM,MAAM,QAAQ,WAAW;AAC/B,SAAO;AAAA,IACL;AAAA,MACE,IAAI;AAAA,MACJ,SAAS,IAAI,OAAO,SAAS;AAAA,MAE7B,SAAS;AAAA,QACP,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,oBAAoB;AAAA,QACpB,eAAe;AAAA,QACf,aAAa;AAAA,QACb,GAAG;AAAA,QACH,kBAAkB;AAAA,QAClB,sBAAsB;AAAA,QACtB,aAAa;AAAA,UACX,WAAW;AAAA,UACX,GAAG,IAAI;AAAA,QACT;AAAA,MACF;AAAA,MAEA,UAAU;AAAA,QACR,cAAc,CAACA,SAAQ,CAAC,CAACA,KAAI,YAAY;AAAA,MAC3C;AAAA,MAEA,OAAO;AAAA,QACL,UAAU,CAAC,iBAAiB;AAAA,QAC5B,MAAM,CAAC,kBAAkB;AAAA,MAC3B;AAAA,MAEA,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,MAAM,CAAC,QAAQ;AAAA,UACf,OAAO,CAAC,eAAe;AAAA,UACvB,IAAI;AAAA,YACF,mBAAmB;AAAA,YACnB,MAAM;AAAA,cACJ,QAAQ;AAAA,cACR,SAAS,CAAC,cAAc;AAAA,YAC1B;AAAA,YACA,eAAe;AAAA,cACb,SAAS,CAAC,wBAAwB;AAAA,YACpC;AAAA,YACA,cAAc;AAAA,cACZ;AAAA,gBACE,OAAO,IAAI,oBAAoB,IAAI,sBAAsB,CAAC;AAAA,gBAC1D,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,OAAO,IAAI,sBAAsB;AAAA,gBACjC,QAAQ;AAAA,gBACR,SAAS,CAAC,wBAAwB,cAAc;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QAEA,SAAS;AAAA,UACP,MAAM,CAAC,QAAQ;AAAA,UACf,YAAY,CAAC,eAAe,wBAAwB;AAAA,UACpD,OAAO;AAAA,YACL,YAAY;AAAA,cACV;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,wBAAwB,cAAc;AAAA,cAClD;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,wBAAwB,cAAc;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AAAA,UACA,IAAI;AAAA,YACF,mBAAmB;AAAA,YACnB,oBAAoB;AAAA,YACpB,MAAM;AAAA,cACJ;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,cAAc;AAAA,cAC1B;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,cAAc;AAAA,cAC1B;AAAA,YACF;AAAA,YACA,eAAe;AAAA,cACb;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,0BAA0B,eAAe;AAAA,cACrD;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,0BAA0B,eAAe;AAAA,cACrD;AAAA,YACF;AAAA,YACA,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC,eAAe;AAAA,YAC3B;AAAA,UACF;AAAA,QACF;AAAA,QAEA,MAAM;AAAA,UACJ,MAAM,CAAC,MAAM;AAAA,UACb,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,OAAO,CAAC,aAAa;AAAA,UACrB,IAAI;AAAA,YACF,oBAAoB;AAAA,YACpB,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC,eAAe;AAAA,YAC3B;AAAA,YACA,eAAe;AAAA,cACb;AAAA,gBACE,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,SAAS,CAAC,wBAAwB;AAAA,cACpC;AAAA;AAAA,cAEA;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,0BAA0B,eAAe;AAAA,cACrD;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,0BAA0B,eAAe;AAAA,cACrD;AAAA,YACF;AAAA,YACA,yBAAyB;AAAA,cACvB,OAAO;AAAA,cACP,QAAQ;AAAA,YACV;AAAA,YACA,mBAAmB;AAAA,cACjB,SAAS;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QAEA,SAAS;AAAA,UACP,MAAM,CAAC,MAAM;AAAA,UACb,YAAY,CAAC,cAAc,kBAAkB;AAAA,UAC7C,OAAO;AAAA,YACL,aAAa;AAAA,cACX;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,eAAe;AAAA,cAC3B;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,eAAe;AAAA,cAC3B;AAAA,YACF;AAAA,UACF;AAAA,UACA,IAAI;AAAA,YACF,oBAAoB;AAAA,YACpB,mBAAmB;AAAA,YACnB,OAAO;AAAA,cACL;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,eAAe;AAAA,cAC3B;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,eAAe;AAAA,cAC3B;AAAA,YACF;AAAA,YACA,cAAc;AAAA,cACZ;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,CAAC,wBAAwB,cAAc;AAAA,cAClD;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS,CAAC,wBAAwB,cAAc;AAAA,cAClD;AAAA,YACF;AAAA,YACA,wBAAwB;AAAA,cACtB,OAAO;AAAA,cACP,QAAQ;AAAA,YACV;AAAA,YACA,mBAAmB;AAAA,cACjB,SAAS;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,YAAY;AAAA,QACV,iBAAiBA,MAAK;AACpB,UAAAA,KAAI,mBAAmBA,KAAI,YAAY;AACvC,gBAAM,kBAAkB,MAAM,IAAI,gBAAgBA,IAAG;AACrD,iBAAO,aAAa,IAAI,aAAaA,IAAG,GAAG,iBAAiB;AAAA,YAC1D,GAAGA,KAAI;AAAA,YACP,OAAO;AAAA,YACP,WAAW,MAAM;AACf,cAAAA,KAAI,mBAAmB,KAAK;AAAA,YAC9B;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,uBAAuBA,MAAK,MAAM,EAAE,KAAK,GAAG;AAC1C,gBAAM,WAAW,MAAM,KAAK,EAAE,MAAM,SAAS,KAAK,qBAAqB,CAAC;AACxE,iBAAO,YAAY,IAAI,OAAOA,IAAG,GAAG,qBAAqB,UAAU,KAAK;AAAA,QAC1E;AAAA,QACA,YAAYA,MAAK,MAAM,EAAE,KAAK,GAAG;AAC/B,gBAAM,YAAY,IAAI,aAAaA,IAAG;AACtC,cAAI,CAAC;AAAW;AAEhB,gBAAM,kBAAkB,qBAAqB,SAAS;AACtD,gBAAM,WAAW,gBAAgB;AAAA,YAAI,CAAC,mBACpC,YAAY,gBAAgB,UAAU,MAAM,KAAK,EAAE,MAAM,SAAS,KAAK,SAAS,CAAC,GAAG;AAAA,cAClF,SAAS;AAAA,cACT,SAAS;AAAA,YACX,CAAC;AAAA,UACH;AAEA,iBAAO,MAAM;AACX,qBAAS,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,UACjC;AAAA,QACF;AAAA,QACA,WAAWA,MAAK,MAAM,EAAE,KAAK,GAAG;AAC9B,iBAAO,UAAU,OAAO,MAAM;AAC5B,gBAAI,MAAM,OAAOA,KAAI,IAAI;AACvB,mBAAK,EAAE,MAAM,SAAS,KAAK,YAAY,CAAC;AAAA,YAC1C;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,6BAA6BA,MAAK,MAAM,EAAE,KAAK,GAAG;AAChD,cAAI,CAAC,SAAS;AAAG;AACjB,gBAAM,MAAM,IAAI,OAAOA,IAAG;AAC1B,iBAAO,YAAY,KAAK,eAAe,CAAC,UAAU;AAChD,kBAAM,WAAW;AACjB,gBAAI,cAAc,MAAM,MAAM,KAAK,MAAM,OAAO,QAAQ,QAAQ;AAAG;AACnE,iBAAK,eAAe;AAAA,UACtB,CAAC;AAAA,QACH;AAAA,QACA,eAAeA,MAAK,MAAM,EAAE,KAAK,GAAG;AAClC,cAAI,CAACA,KAAI;AAAe;AACxB,gBAAM,MAAM,IAAI,OAAOA,IAAG;AAC1B,iBAAO,YAAY,KAAK,WAAW,CAAC,UAAU;AAC5C,gBAAI,MAAM,QAAQ,UAAU;AAC1B,mBAAK,OAAO;AAAA,YACd;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,MACA,SAAS;AAAA,QACP,YAAYA,MAAK;AACf,gBAAM,MAAMA,KAAI,EAAE;AAAA,QACpB;AAAA,QACA,cAAcA,MAAK;AACjB,cAAIA,KAAI,OAAO,MAAM,IAAI;AACvB,kBAAM,MAAM,IAAI;AAAA,UAClB;AAAA,QACF;AAAA,QACA,aAAaA,MAAK;AAChB,UAAAA,KAAI,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,QACnC;AAAA,QACA,cAAcA,MAAK;AACjB,UAAAA,KAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAAA,QACpC;AAAA,QACA,gBAAgBA,MAAK,MAAM,EAAE,KAAK,GAAG;AACnC,cAAI,CAACA,KAAI;AAAU;AACnB,eAAK,EAAE,MAAM,SAAS,KAAK,kBAAkB,CAAC;AAAA,QAChD;AAAA,QACA,WAAWA,MAAK,KAAK;AACnB,gBAAM,kBAAkB,MAAM,IAAI,gBAAgBA,IAAG;AACrD,uBAAa,IAAI,aAAaA,IAAG,GAAG,iBAAiB;AAAA,YACnD,GAAGA,KAAI;AAAA,YACP,GAAG,IAAI;AAAA,YACP,OAAO;AAAA,YACP,WAAW;AAAA,YACX,WAAW,MAAM;AACf,cAAAA,KAAI,mBAAmB,KAAK;AAAA,YAC9B;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,iBAAiBA,MAAK,KAAK,EAAE,KAAK,GAAG;AACnC,eAAK,EAAE,MAAMA,KAAI,OAAO,oBAAoB,oBAAoB,eAAe,IAAI,CAAC;AAAA,QACtF;AAAA,QACA,qBAAqBA,MAAK;AACxB,UAAAA,KAAI,uBAAuB;AAAA,QAC7B;AAAA,QACA,uBAAuBA,MAAK;AAC1B,UAAAA,KAAI,uBAAuB;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,QACN,kBAAkB,MAAM,MAAM,OAAO;AAAA,QACrC,WAAW,CAACA,SAAQA,KAAI,OAAO,MAAM;AAAA,QACrC,eAAe,CAACA,SAAQA,KAAI;AAAA,QAC5B,sBAAsB,CAACA,SAAQ,CAAC,CAACA,KAAI;AAAA,QACrC,kBAAkB,CAACA,SAAQ,CAAC,CAACA,KAAI,iBAAiB;AAAA,MACpD;AAAA,MACA,QAAQ;AAAA,QACN,YAAY,CAACA,SAAQA,KAAI;AAAA,QACzB,aAAa,CAACA,SAAQA,KAAI;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACF;;;AC9TA,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAG1B,IAAM,QAAQ,YAAgC,EAAE;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,aAAa,iBAA8C,KAAK;","names":["ctx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zag-js/tooltip",
3
- "version": "0.0.0-dev-20240605203045",
3
+ "version": "0.0.0-dev-20240607175637",
4
4
  "description": "Core logic for the tooltip widget implemented as a state machine",
5
5
  "keywords": [
6
6
  "js",
@@ -27,13 +27,13 @@
27
27
  "url": "https://github.com/chakra-ui/zag/issues"
28
28
  },
29
29
  "dependencies": {
30
- "@zag-js/anatomy": "0.0.0-dev-20240605203045",
31
- "@zag-js/core": "0.0.0-dev-20240605203045",
32
- "@zag-js/popper": "0.0.0-dev-20240605203045",
33
- "@zag-js/dom-query": "0.0.0-dev-20240605203045",
34
- "@zag-js/dom-event": "0.0.0-dev-20240605203045",
35
- "@zag-js/utils": "0.0.0-dev-20240605203045",
36
- "@zag-js/types": "0.0.0-dev-20240605203045"
30
+ "@zag-js/anatomy": "0.0.0-dev-20240607175637",
31
+ "@zag-js/core": "0.0.0-dev-20240607175637",
32
+ "@zag-js/popper": "0.0.0-dev-20240607175637",
33
+ "@zag-js/dom-query": "0.0.0-dev-20240607175637",
34
+ "@zag-js/dom-event": "0.0.0-dev-20240607175637",
35
+ "@zag-js/utils": "0.0.0-dev-20240607175637",
36
+ "@zag-js/types": "0.0.0-dev-20240607175637"
37
37
  },
38
38
  "devDependencies": {
39
39
  "clean-package": "2.2.0"
@@ -32,8 +32,8 @@ export function connect<T extends PropTypes>(state: State, send: Send, normalize
32
32
  send({ type: "POSITIONING.SET", options })
33
33
  },
34
34
 
35
- getTriggerProps: () =>
36
- normalize.button({
35
+ getTriggerProps() {
36
+ return normalize.button({
37
37
  ...parts.trigger.attrs,
38
38
  id: triggerId,
39
39
  dir: state.context.dir,
@@ -72,33 +72,37 @@ export function connect<T extends PropTypes>(state: State, send: Send, normalize
72
72
  if (disabled) return
73
73
  send("POINTER_LEAVE")
74
74
  },
75
- }),
75
+ })
76
+ },
76
77
 
77
- getArrowProps: () =>
78
- normalize.element({
78
+ getArrowProps() {
79
+ return normalize.element({
79
80
  id: dom.getArrowId(state.context),
80
81
  ...parts.arrow.attrs,
81
82
  dir: state.context.dir,
82
83
  style: popperStyles.arrow,
83
- }),
84
+ })
85
+ },
84
86
 
85
- getArrowTipProps: () =>
86
- normalize.element({
87
+ getArrowTipProps() {
88
+ return normalize.element({
87
89
  ...parts.arrowTip.attrs,
88
90
  dir: state.context.dir,
89
91
  style: popperStyles.arrowTip,
90
- }),
92
+ })
93
+ },
91
94
 
92
- getPositionerProps: () =>
93
- normalize.element({
95
+ getPositionerProps() {
96
+ return normalize.element({
94
97
  id: dom.getPositionerId(state.context),
95
98
  ...parts.positioner.attrs,
96
99
  dir: state.context.dir,
97
100
  style: popperStyles.floating,
98
- }),
101
+ })
102
+ },
99
103
 
100
- getContentProps: () =>
101
- normalize.element({
104
+ getContentProps() {
105
+ return normalize.element({
102
106
  ...parts.content.attrs,
103
107
  dir: state.context.dir,
104
108
  hidden: !open,
@@ -115,6 +119,7 @@ export function connect<T extends PropTypes>(state: State, send: Send, normalize
115
119
  style: {
116
120
  pointerEvents: state.context.interactive ? "auto" : "none",
117
121
  },
118
- }),
122
+ })
123
+ },
119
124
  }
120
125
  }