Composable@pillar-ai/vue
usePillar()
Composable to access the Pillar SDK instance and state
typescript
import { usePillar } from '@pillar-ai/vue'
Signature
typescript
function usePillar<TActions extends SyncActionDefinitions | ActionDefinitions = SyncActionDefinitions>(): TypedUsePillarResult<TActions>
Return Value
Return Value
pillarrequiredPillarContextValue['pillar']
No description.
onTaskrequired<TName extends ActionNames<TActions>>(
taskName: TName,
handler: (data: ActionDataType<TActions, TName>) => void
) => () => void
Type-safe task handler registration.
Returns
TypedUsePillarResultExamples
tsx
Basic usage (untyped)```vue<script setup lang="ts">import { usePillar } from '@pillar-ai/vue';const { isReady, open, close, isPanelOpen } = usePillar();</script><template><div v-if="!isReady">Loading...</div><button v-else
tsx
<script setup lang="ts">import { usePillar } from '@pillar-ai/vue';import { actions } from '@/lib/pillar/actions';import { onMounted, onUnmounted } from 'vue';const { pillar, onTask } = usePillar<typeof actions>();let unsub: (() => void) | undefined;onMounted(() => {// TypeScript knows data has { type, url, name }unsub = onTask('add_new_source', (data) => {console.log(data.url); // ✓ Typed!});});onUnmounted(() => {unsub?.();});</script>
Source:
packages/sdk-vue/src/composables/usePillar.ts