{"version":3,"names":["createChangeEventDetails","REASONS","PopupTriggerMap","TooltipStore","_setOpen","_open","constructor","context","triggerElements","attachSetOpen","fn","setOpenMirror","next","setOpen","details","isOpen","TooltipHandle","store","open","triggerId","triggerElement","getById","Error","imperativeAction","undefined","close","createTooltipHandle"],"sources":["tooltip-store.ts"],"sourcesContent":["/**\n * TooltipStore — thin Solid 2 port of Base UI React's `TooltipStore`\n * (`packages/react/src/tooltip/store/TooltipStore.ts`).\n *\n * Mirrors `PopoverStore` in scope: the React store carries the full\n * tooltip state machine; the Solid port keeps the legacy per-root\n * signal-based state but exposes a small imperative surface here so\n * `TooltipHandle` / `actionsRef` can plug in without wholesale rewriting\n * the root. See `src/popover/store/popover-store.ts` for the same\n * rationale.\n */\n\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { PopupTriggerMap } from \"../../internals/floating-ui/popup-trigger-map\";\nimport type {\n\tTooltipRootChangeEventDetails,\n\tTooltipRootChangeEventReason,\n} from \"../tooltip-root-context\";\n\nexport type TooltipStoreSetOpen = (\n\tnext: boolean,\n\tdetails: TooltipRootChangeEventDetails,\n) => void;\n\nexport class TooltipStore<_Payload = unknown> {\n\tpublic readonly context: { triggerElements: PopupTriggerMap };\n\n\tprivate _setOpen: TooltipStoreSetOpen | null = null;\n\tprivate _open = false;\n\n\tconstructor() {\n\t\tthis.context = {\n\t\t\ttriggerElements: new PopupTriggerMap(),\n\t\t};\n\t}\n\n\t/** @internal */\n\tattachSetOpen(fn: TooltipStoreSetOpen | null): void {\n\t\tthis._setOpen = fn;\n\t}\n\n\t/** @internal */\n\tsetOpenMirror(next: boolean): void {\n\t\tthis._open = next;\n\t}\n\n\tsetOpen(next: boolean, details: TooltipRootChangeEventDetails): void {\n\t\tthis._setOpen?.(next, details);\n\t}\n\n\tget isOpen(): boolean {\n\t\treturn this._open;\n\t}\n}\n\nexport class TooltipHandle<Payload = unknown> {\n\t/** @internal */\n\tpublic readonly store: TooltipStore<Payload>;\n\n\tconstructor() {\n\t\tthis.store = new TooltipStore<Payload>();\n\t}\n\n\topen(triggerId: string): void {\n\t\tconst triggerElement = this.store.context.triggerElements.getById(\n\t\t\ttriggerId,\n\t\t) as HTMLElement | undefined;\n\n\t\tif (!triggerElement) {\n\t\t\tthrow new Error(\n\t\t\t\t`Base UI: TooltipHandle.open: No trigger found with id \"${triggerId}\".`,\n\t\t\t);\n\t\t}\n\n\t\tthis.store.setOpen(\n\t\t\ttrue,\n\t\t\tcreateChangeEventDetails<TooltipRootChangeEventReason>(\n\t\t\t\tREASONS.imperativeAction as TooltipRootChangeEventReason,\n\t\t\t\tundefined,\n\t\t\t\ttriggerElement,\n\t\t\t) as TooltipRootChangeEventDetails,\n\t\t);\n\t}\n\n\tclose(): void {\n\t\tthis.store.setOpen(\n\t\t\tfalse,\n\t\t\tcreateChangeEventDetails<TooltipRootChangeEventReason>(\n\t\t\t\tREASONS.imperativeAction as TooltipRootChangeEventReason,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t) as TooltipRootChangeEventDetails,\n\t\t);\n\t}\n\n\tget isOpen(): boolean {\n\t\treturn this.store.isOpen;\n\t}\n}\n\nexport function createTooltipHandle<\n\tPayload = unknown,\n>(): TooltipHandle<Payload> {\n\treturn new TooltipHandle<Payload>();\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACCA,wBAAwB,EACxBC,OAAO,QACD,sCAAsC;AAC7C,SAASC,eAAe,QAAQ,+CAA+C;AAW/E,OAAO,MAAMC,YAAY,CAAqB;EAGrCC,QAAQ,GAA+B,IAAI;EAC3CC,KAAK,GAAG,KAAK;EAErBC,WAAWA,CAAA,EAAG;IACb,IAAI,CAACC,OAAO,GAAG;MACdC,eAAe,EAAE,IAAIN,eAAe,CAAC;IACtC,CAAC;EACF;;EAEA;EACAO,aAAaA,CAACC,EAA8B,EAAQ;IACnD,IAAI,CAACN,QAAQ,GAAGM,EAAE;EACnB;;EAEA;EACAC,aAAaA,CAACC,IAAa,EAAQ;IAClC,IAAI,CAACP,KAAK,GAAGO,IAAI;EAClB;EAEAC,OAAOA,CAACD,IAAa,EAAEE,OAAsC,EAAQ;IACpE,IAAI,CAACV,QAAQ,GAAGQ,IAAI,EAAEE,OAAO,CAAC;EAC/B;EAEA,IAAIC,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACV,KAAK;EAClB;AACD;AAEA,OAAO,MAAMW,aAAa,CAAoB;EAC7C;;EAGAV,WAAWA,CAAA,EAAG;IACb,IAAI,CAACW,KAAK,GAAG,IAAId,YAAY,CAAU,CAAC;EACzC;EAEAe,IAAIA,CAACC,SAAiB,EAAQ;IAC7B,MAAMC,cAAc,GAAG,IAAI,CAACH,KAAK,CAACV,OAAO,CAACC,eAAe,CAACa,OAAO,CAChEF,SACD,CAA4B;IAE5B,IAAI,CAACC,cAAc,EAAE;MACpB,MAAM,IAAIE,KAAK,CACd,0DAA0DH,SAAS,IACpE,CAAC;IACF;IAEA,IAAI,CAACF,KAAK,CAACJ,OAAO,CACjB,IAAI,EACJb,wBAAwB,CACvBC,OAAO,CAACsB,gBAAgB,EACxBC,SAAS,EACTJ,cACD,CACD,CAAC;EACF;EAEAK,KAAKA,CAAA,EAAS;IACb,IAAI,CAACR,KAAK,CAACJ,OAAO,CACjB,KAAK,EACLb,wBAAwB,CACvBC,OAAO,CAACsB,gBAAgB,EACxBC,SAAS,EACTA,SACD,CACD,CAAC;EACF;EAEA,IAAIT,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACE,KAAK,CAACF,MAAM;EACzB;AACD;AAEA,OAAO,SAASW,mBAAmBA,CAAA,EAEP;EAC3B,OAAO,IAAIV,aAAa,CAAU,CAAC;AACpC","ignoreList":[]}