@admin-layout/tailwind-ui 12.2.4-alpha.62 → 12.2.4-alpha.66

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.
Files changed (55) hide show
  1. package/lib/components/AIToolbar/components/completion/Files.d.ts +3 -3
  2. package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -1
  3. package/lib/components/AIToolbar/components/completion/Files.js +66 -36
  4. package/lib/components/AIToolbar/components/completion/Files.js.map +1 -1
  5. package/lib/components/AIToolbar/components/completion/Input.js +1 -1
  6. package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -1
  7. package/lib/components/AIToolbar/components/speech/Warning.js +101 -29
  8. package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -1
  9. package/lib/components/AIToolbar/index.d.ts +2 -1
  10. package/lib/components/AIToolbar/index.d.ts.map +1 -1
  11. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.d.ts +20 -0
  12. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.d.ts.map +1 -0
  13. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.js +249 -0
  14. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.js.map +1 -0
  15. package/lib/components/CharacterSlotPicker/index.d.ts +3 -0
  16. package/lib/components/CharacterSlotPicker/index.d.ts.map +1 -0
  17. package/lib/components/Inbox/Channels/ChannelBar.d.ts +33 -0
  18. package/lib/components/Inbox/Channels/ChannelBar.d.ts.map +1 -0
  19. package/lib/components/Inbox/Channels/ChannelBar.js +79 -0
  20. package/lib/components/Inbox/Channels/ChannelBar.js.map +1 -0
  21. package/lib/components/Inbox/Channels/ChannelConnectModal.d.ts +24 -0
  22. package/lib/components/Inbox/Channels/ChannelConnectModal.d.ts.map +1 -0
  23. package/lib/components/Inbox/Channels/ChannelConnectModal.js +177 -0
  24. package/lib/components/Inbox/Channels/ChannelConnectModal.js.map +1 -0
  25. package/lib/components/Inbox/Channels/channelsMeta.d.ts +16 -0
  26. package/lib/components/Inbox/Channels/channelsMeta.d.ts.map +1 -0
  27. package/lib/components/Inbox/Channels/channelsMeta.js +127 -0
  28. package/lib/components/Inbox/Channels/channelsMeta.js.map +1 -0
  29. package/lib/components/Inbox/Channels/index.d.ts +7 -0
  30. package/lib/components/Inbox/Channels/index.d.ts.map +1 -0
  31. package/lib/components/Inbox/index.d.ts +2 -0
  32. package/lib/components/Inbox/index.d.ts.map +1 -0
  33. package/lib/components/index.d.ts +2 -0
  34. package/lib/components/index.d.ts.map +1 -1
  35. package/lib/hooks/activeCharacterPreference.d.ts +2 -1
  36. package/lib/hooks/activeCharacterPreference.d.ts.map +1 -1
  37. package/lib/hooks/activeCharacterPreference.js +9 -2
  38. package/lib/hooks/activeCharacterPreference.js.map +1 -1
  39. package/lib/hooks/characterOverrides.d.ts +29 -0
  40. package/lib/hooks/characterOverrides.d.ts.map +1 -0
  41. package/lib/hooks/characterOverrides.js +130 -0
  42. package/lib/hooks/characterOverrides.js.map +1 -0
  43. package/lib/hooks/characterSlotsPreference.d.ts +33 -0
  44. package/lib/hooks/characterSlotsPreference.d.ts.map +1 -0
  45. package/lib/hooks/characterSlotsPreference.js +141 -0
  46. package/lib/hooks/characterSlotsPreference.js.map +1 -0
  47. package/lib/hooks/index.d.ts +3 -0
  48. package/lib/hooks/index.d.ts.map +1 -1
  49. package/lib/hooks/useGlobalShortcutBridge.d.ts +21 -0
  50. package/lib/hooks/useGlobalShortcutBridge.d.ts.map +1 -0
  51. package/lib/hooks/useGlobalShortcutBridge.js +68 -0
  52. package/lib/hooks/useGlobalShortcutBridge.js.map +1 -0
  53. package/lib/index.js +1 -1
  54. package/lib/shardui/command.d.ts +1 -1
  55. package/package.json +3 -3
@@ -0,0 +1,68 @@
1
+ import*as React from'react';import {readCharacterSlots,readDefaultSlot}from'./characterSlotsPreference.js';import {setPreferredActiveCharacterFileName}from'./activeCharacterPreference.js';/**
2
+ * Subscribes to native global-shortcut events emitted by the Tauri shell and
3
+ * dispatches them to the local React app state.
4
+ *
5
+ * Currently handles:
6
+ * - `bar:switch-slot` `{ slot: 0..9 }` — activates the character assigned to
7
+ * the given slot. `slot === 0` resolves to the user-chosen default slot.
8
+ *
9
+ * No-op in non-Tauri environments. Mount this hook once near the desktop bar
10
+ * root so the listener lives for the lifetime of the bar webview.
11
+ */
12
+ function resolveSlotFileName(slot) {
13
+ const slots = readCharacterSlots();
14
+ if (slot === 0) {
15
+ const defaultSlot = readDefaultSlot();
16
+ return slots[defaultSlot] ?? null;
17
+ }
18
+ if (slot >= 1 && slot <= 9) {
19
+ return slots[slot] ?? null;
20
+ }
21
+ return null;
22
+ }
23
+ /**
24
+ * Browser CustomEvent names dispatched by this bridge when the corresponding
25
+ * Tauri global shortcut fires. Consumers (e.g. voice hook, activity-tracker
26
+ * UI) listen on `window` to react to the shortcut.
27
+ */
28
+ const BAR_TOGGLE_MIC_EVENT = 'yantra:toggle-mic';
29
+ const BAR_TOGGLE_AUDIO_EVENT = 'yantra:toggle-audio';
30
+ const BAR_TOGGLE_EYE_EVENT = 'yantra:toggle-eye';
31
+ function useGlobalShortcutBridge() {
32
+ React.useEffect(() => {
33
+ if (typeof window === 'undefined') return;
34
+ let cancelled = false;
35
+ const offs = [];
36
+ (async () => {
37
+ try {
38
+ // @ts-ignore optional Tauri runtime
39
+ const mod = await import('@tauri-apps/api/event');
40
+ const off = await mod.listen('bar:switch-slot', event => {
41
+ const slot = event.payload?.slot;
42
+ if (typeof slot !== 'number') return;
43
+ const fileName = resolveSlotFileName(slot);
44
+ if (!fileName) {
45
+ console.debug(`[GlobalShortcut] slot ${slot} is empty; ignoring`);
46
+ return;
47
+ }
48
+ setPreferredActiveCharacterFileName(fileName);
49
+ });
50
+ offs.push(off);
51
+ const relays = [['bar:toggle-mic', BAR_TOGGLE_MIC_EVENT], ['bar:toggle-audio', BAR_TOGGLE_AUDIO_EVENT], ['bar:toggle-eye', BAR_TOGGLE_EYE_EVENT]];
52
+ for (const [tauriEvent, domEvent] of relays) {
53
+ const offRelay = await mod.listen(tauriEvent, () => {
54
+ window.dispatchEvent(new CustomEvent(domEvent));
55
+ });
56
+ offs.push(offRelay);
57
+ }
58
+ if (cancelled) offs.forEach(f => f());
59
+ } catch {
60
+ /* non-Tauri environment — nothing to listen to */
61
+ }
62
+ })();
63
+ return () => {
64
+ cancelled = true;
65
+ offs.forEach(f => f());
66
+ };
67
+ }, []);
68
+ }export{BAR_TOGGLE_AUDIO_EVENT,BAR_TOGGLE_EYE_EVENT,BAR_TOGGLE_MIC_EVENT,useGlobalShortcutBridge};//# sourceMappingURL=useGlobalShortcutBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGlobalShortcutBridge.js","sources":["../../src/hooks/useGlobalShortcutBridge.ts"],"sourcesContent":[null],"names":[],"mappings":"4LAAA;;;;;;;;;;AAUG;;AA0BA,EAAA,MAAA,KAAA,GAAA,kBAAA,EAAA;AACH,EAAA,IAAA,IAAA,KAAO,CAAA,EAAA;AACP,IAAA,MAAA,WAAa,GAAA,eAAA,EAAA;AACb,IAAA,OAAA,KAAO,CAAA,WAAM,CAAA,IAAA,IAAA;AAEb,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export{default as PageLoading}from'./components/PageLoading/index.js';export{ApplicationErrorHandler}from'./components/ErrorHandlers/ApplicationErrorHandler.js';export{ErrorBoundary}from'./components/ErrorHandlers/ErrorBoundary.js';export{LayoutErrorBoundary}from'./components/ErrorHandlers/LayoutErrorBoundary.js';export{RemixErrorBoundary}from'./components/ErrorHandlers/RemixErrorBoundary.js';export{SPAErrorBoundary}from'./components/ErrorHandlers/SPAErrorBoundary.js';export{ReactTable}from'./components/ReactTable/Table.js';export{DefaultColumnFilter,SelectColumnFilter}from'./components/ReactTable/TableFilters.js';export{Error404}from'./components/ErrorPages/404.js';export{Error500}from'./components/ErrorPages/500.js';export{Error403}from'./components/ErrorPages/403.js';export{PageContainer}from'./components/PageContainer/PageContainer.js';export{Spin}from'./components/Spin/index.js';export{OTPInput}from'./components/OTP/OTPInput.js';export{SingleInput}from'./components/OTP/SingleInput.js';export{useOTPInput}from'./components/OTP/hooks.js';export{OTPVerification}from'./components/OTP/OTPVerification.js';export{SearchInput}from'./components/Search/SearchInput.js';export{Select,SelectContent,SelectItem,SelectSearch,SelectTrigger,SelectValue}from'./components/Select/Select.js';export{DatePicker}from'./components/DatePicker/DatePicker.js';export{Dialog}from'./components/Dialog/Dialog.js';export{TailwindUiButton}from'./components/Button/Button.js';export{TailwindThemeProvider,ThemeContext,themes}from'./components/ThemeProvider/ThemeProvider.js';export{ThemeToggle}from'./components/ThemeProvider/ThemeToggle.js';export{LanguageMenuDropdown}from'./components/LanguageMenuDropdown/LanguageMenuDropdown.js';export{InputToolBar}from'./components/InputToolBar/InputToolBar.js';export{getDefaultLeftItems,getDefaultRightItems}from'./components/InputToolBar/defaults.js';export{AIToolbar,AIToolbarInputSurface,AIToolbarLeading,AIToolbarMain,AIToolbarStatusDot,AIToolbarTrailing}from'./components/AIToolbar/components/AIToolbarPrimitives.js';export{Completion}from'./components/AIToolbar/components/completion/index.js';export{SystemAudio}from'./components/AIToolbar/components/speech/index.js';export{AudioVisualizer}from'./components/AIToolbar/components/speech/audio-visualizer.js';export{StatusIndicator}from'./components/AIToolbar/components/speech/StatusIndicator.js';export{AIToolBar}from'./components/AIToolbar/components/AIToolBar.js';export{CustomCursor}from'./components/AIToolbar/components/CustomCursor.js';export{MessageHistory}from'./components/AIToolbar/components/completion/MessageHistory.js';export{Screenshot}from'./components/AIToolbar/components/completion/Screenshot.js';export{Header}from'./components/AIToolbar/components/speech/Header.js';export{ModeSwitcher}from'./components/AIToolbar/components/speech/ModeSwitcher.js';export{PermissionFlow}from'./components/AIToolbar/components/speech/PermissionFlow.js';export{setMarketplaceCharacters,useActiveCharacter,useCharacterPicker}from'./components/AIToolbar/hooks/useActiveCharacter.js';export{YantraIcon}from'./components/YantraIcon.js';export{Markdown as AIToolbarMarkdown}from'./components/AIToolbar/components/Markdown/index.js';export{MarkdownBreadcrumbs}from'./components/Markdown/MarkdownBreadcrumbs.js';export{MarkdownCopyButton}from'./components/Markdown/MarkdownCopyButton.js';export{MarkdownHeader}from'./components/Markdown/MarkdownHeader.js';export{MarkdownNavigation}from'./components/Markdown/MarkdownNavigation.js';export{MarkdownPage}from'./components/Markdown/MarkdownPage.js';export{MarkdownTableOfContents}from'./components/Markdown/MarkdownTableOfContents.js';export{ACTIVE_CHARACTER_CHANGE_EVENT,ACTIVE_CHARACTER_FILE_NAME_STORAGE_KEY,readPreferredActiveCharacterFileName,resolveActiveCharacterFromList,setPreferredActiveCharacterFileName}from'./hooks/activeCharacterPreference.js';export{useTheme}from'./hooks/useTheme.js';export{useWindowSize}from'./hooks/useWindowSize.js';export{ToastContainer,useToast,useToastCloseAll}from'./hooks/useToast.js';export{useMediaQuery}from'./hooks/useMediaQuery.js';export{cn}from'./utils/util.js';export{AssistantMessageActions}from'./components/AIToolbar/components/completion/AssistantMessageActions.js';export{DragButton}from'./components/AIToolbar/components/DragButton.js';//# sourceMappingURL=index.js.map
1
+ export{default as PageLoading}from'./components/PageLoading/index.js';export{ApplicationErrorHandler}from'./components/ErrorHandlers/ApplicationErrorHandler.js';export{ErrorBoundary}from'./components/ErrorHandlers/ErrorBoundary.js';export{LayoutErrorBoundary}from'./components/ErrorHandlers/LayoutErrorBoundary.js';export{RemixErrorBoundary}from'./components/ErrorHandlers/RemixErrorBoundary.js';export{SPAErrorBoundary}from'./components/ErrorHandlers/SPAErrorBoundary.js';export{ReactTable}from'./components/ReactTable/Table.js';export{DefaultColumnFilter,SelectColumnFilter}from'./components/ReactTable/TableFilters.js';export{Error404}from'./components/ErrorPages/404.js';export{Error500}from'./components/ErrorPages/500.js';export{Error403}from'./components/ErrorPages/403.js';export{PageContainer}from'./components/PageContainer/PageContainer.js';export{Spin}from'./components/Spin/index.js';export{OTPInput}from'./components/OTP/OTPInput.js';export{SingleInput}from'./components/OTP/SingleInput.js';export{useOTPInput}from'./components/OTP/hooks.js';export{OTPVerification}from'./components/OTP/OTPVerification.js';export{SearchInput}from'./components/Search/SearchInput.js';export{Select,SelectContent,SelectItem,SelectSearch,SelectTrigger,SelectValue}from'./components/Select/Select.js';export{DatePicker}from'./components/DatePicker/DatePicker.js';export{Dialog}from'./components/Dialog/Dialog.js';export{TailwindUiButton}from'./components/Button/Button.js';export{TailwindThemeProvider,ThemeContext,themes}from'./components/ThemeProvider/ThemeProvider.js';export{ThemeToggle}from'./components/ThemeProvider/ThemeToggle.js';export{LanguageMenuDropdown}from'./components/LanguageMenuDropdown/LanguageMenuDropdown.js';export{InputToolBar}from'./components/InputToolBar/InputToolBar.js';export{getDefaultLeftItems,getDefaultRightItems}from'./components/InputToolBar/defaults.js';export{AIToolbar,AIToolbarInputSurface,AIToolbarLeading,AIToolbarMain,AIToolbarStatusDot,AIToolbarTrailing}from'./components/AIToolbar/components/AIToolbarPrimitives.js';export{Completion}from'./components/AIToolbar/components/completion/index.js';export{SystemAudio}from'./components/AIToolbar/components/speech/index.js';export{AudioVisualizer}from'./components/AIToolbar/components/speech/audio-visualizer.js';export{StatusIndicator}from'./components/AIToolbar/components/speech/StatusIndicator.js';export{AIToolBar}from'./components/AIToolbar/components/AIToolBar.js';export{CustomCursor}from'./components/AIToolbar/components/CustomCursor.js';export{MessageHistory}from'./components/AIToolbar/components/completion/MessageHistory.js';export{Screenshot}from'./components/AIToolbar/components/completion/Screenshot.js';export{Header}from'./components/AIToolbar/components/speech/Header.js';export{ModeSwitcher}from'./components/AIToolbar/components/speech/ModeSwitcher.js';export{PermissionFlow}from'./components/AIToolbar/components/speech/PermissionFlow.js';export{setMarketplaceCharacters,useActiveCharacter,useCharacterPicker}from'./components/AIToolbar/hooks/useActiveCharacter.js';export{ACTIVE_CHARACTER_CHANGE_EVENT,ACTIVE_CHARACTER_FILE_NAME_STORAGE_KEY,readPreferredActiveCharacterFileName,resolveActiveCharacterFromList,setPreferredActiveCharacterFileName}from'./hooks/activeCharacterPreference.js';export{CharacterSlotPicker}from'./components/CharacterSlotPicker/CharacterSlotPicker.js';export{default as ChannelBar}from'./components/Inbox/Channels/ChannelBar.js';export{default as ChannelConnectModal}from'./components/Inbox/Channels/ChannelConnectModal.js';export{CHANNELS}from'./components/Inbox/Channels/channelsMeta.js';export{YantraIcon}from'./components/YantraIcon.js';export{Markdown as AIToolbarMarkdown}from'./components/AIToolbar/components/Markdown/index.js';export{MarkdownBreadcrumbs}from'./components/Markdown/MarkdownBreadcrumbs.js';export{MarkdownCopyButton}from'./components/Markdown/MarkdownCopyButton.js';export{MarkdownHeader}from'./components/Markdown/MarkdownHeader.js';export{MarkdownNavigation}from'./components/Markdown/MarkdownNavigation.js';export{MarkdownPage}from'./components/Markdown/MarkdownPage.js';export{MarkdownTableOfContents}from'./components/Markdown/MarkdownTableOfContents.js';export{CHARACTER_SLOTS_CHANGE_EVENT,CHARACTER_SLOTS_DEFAULT_KEY,CHARACTER_SLOTS_STORAGE_KEY,SLOT_NUMBERS,readCharacterSlots,readDefaultCharacterFileName,readDefaultSlot,setDefaultSlot,setSlot,useCharacterSlots,writeCharacterSlots}from'./hooks/characterSlotsPreference.js';export{CHARACTER_OVERRIDES_CHANGE_EVENT,readCharacterAddendum,readCharacterOverrides,readCharacterVoiceId,setCharacterAddendum,setCharacterOverrides,setCharacterVoiceId,useCharacterOverrides}from'./hooks/characterOverrides.js';export{BAR_TOGGLE_AUDIO_EVENT,BAR_TOGGLE_EYE_EVENT,BAR_TOGGLE_MIC_EVENT,useGlobalShortcutBridge}from'./hooks/useGlobalShortcutBridge.js';export{useTheme}from'./hooks/useTheme.js';export{useWindowSize}from'./hooks/useWindowSize.js';export{ToastContainer,useToast,useToastCloseAll}from'./hooks/useToast.js';export{useMediaQuery}from'./hooks/useMediaQuery.js';export{cn}from'./utils/util.js';export{AssistantMessageActions}from'./components/AIToolbar/components/completion/AssistantMessageActions.js';export{DragButton}from'./components/AIToolbar/components/DragButton.js';//# sourceMappingURL=index.js.map
@@ -50,7 +50,7 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
50
50
  ref?: React.Ref<HTMLDivElement>;
51
51
  } & {
52
52
  asChild?: boolean;
53
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "heading" | "value"> & {
53
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
54
54
  heading?: React.ReactNode;
55
55
  value?: string;
56
56
  forceMount?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-ui",
3
- "version": "12.2.4-alpha.62",
3
+ "version": "12.2.4-alpha.66",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -29,7 +29,7 @@
29
29
  "watch": "npm run build:lib:watch"
30
30
  },
31
31
  "dependencies": {
32
- "@admin-layout/client": "12.2.4-alpha.49",
32
+ "@admin-layout/client": "12.2.4-alpha.66",
33
33
  "@radix-ui/react-accordion": "^1.2.0",
34
34
  "@radix-ui/react-alert-dialog": "^1.1.1",
35
35
  "@radix-ui/react-aspect-ratio": "^1.1.0",
@@ -96,5 +96,5 @@
96
96
  "typescript": {
97
97
  "definition": "lib/index.d.ts"
98
98
  },
99
- "gitHead": "4dec1930c6d2da179bd1279602305a49d3a3b75b"
99
+ "gitHead": "e8a0dc6475f4596cf59177a973f4fd2638789783"
100
100
  }