primitive-app 1.0.8 → 2.0.0

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 (192) hide show
  1. package/README.md +0 -4
  2. package/dist/components/auth/EditProfile.vue.d.ts +18 -0
  3. package/dist/components/auth/EditProfile.vue.d.ts.map +1 -1
  4. package/dist/components/auth/PrimitiveLogin.vue.d.ts +12 -39
  5. package/dist/components/auth/PrimitiveLogin.vue.d.ts.map +1 -1
  6. package/dist/components/auth/PrimitiveOauthCallback.vue.d.ts +4 -4
  7. package/dist/components/auth/PrimitiveOauthCallback.vue.d.ts.map +1 -1
  8. package/dist/components/debug-suite/document-debugger/DocumentDebuggerIndex.vue.d.ts.map +1 -1
  9. package/dist/components/debug-suite/document-debugger/DocumentSidebar.vue.d.ts +2 -2
  10. package/dist/components/documents/PrimitiveDocumentList.vue.d.ts +36 -0
  11. package/dist/components/documents/PrimitiveDocumentList.vue.d.ts.map +1 -0
  12. package/dist/components/documents/PrimitiveDocumentSwitcher.vue.d.ts +44 -0
  13. package/dist/components/documents/PrimitiveDocumentSwitcher.vue.d.ts.map +1 -0
  14. package/dist/components/documents/PrimitiveShareDocumentDialog.vue.d.ts +7 -0
  15. package/dist/components/documents/PrimitiveShareDocumentDialog.vue.d.ts.map +1 -1
  16. package/dist/components/shared/{PrimitiveSkeletonGate.vue.d.ts → PrimitiveLoadingGate.vue.d.ts} +7 -6
  17. package/dist/components/shared/PrimitiveLoadingGate.vue.d.ts.map +1 -0
  18. package/dist/components/shared/PrimitiveMobileTabBar.vue.d.ts +40 -0
  19. package/dist/components/shared/PrimitiveMobileTabBar.vue.d.ts.map +1 -0
  20. package/dist/components/shared/PrimitiveUserMenu.vue.d.ts +38 -0
  21. package/dist/components/shared/PrimitiveUserMenu.vue.d.ts.map +1 -0
  22. package/dist/components/shared/PrimitiveUserTabItem.vue.d.ts +41 -0
  23. package/dist/components/shared/PrimitiveUserTabItem.vue.d.ts.map +1 -0
  24. package/dist/components/ui/badge/index.d.ts +1 -1
  25. package/dist/components/ui/button/index.d.ts +2 -2
  26. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  27. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  28. package/dist/components/ui/carousel/interface.d.ts +11 -1
  29. package/dist/components/ui/carousel/interface.d.ts.map +1 -1
  30. package/dist/components/ui/carousel/useCarousel.d.ts +3 -19
  31. package/dist/components/ui/carousel/useCarousel.d.ts.map +1 -1
  32. package/dist/components/ui/native-select/NativeSelectOptGroup.vue.d.ts +4 -4
  33. package/dist/components/ui/native-select/NativeSelectOption.vue.d.ts +4 -4
  34. package/dist/components/ui/popover/PopoverContent.vue.d.ts +1 -1
  35. package/dist/composables/useTheme.d.ts.map +1 -1
  36. package/dist/createPrimitiveApp.d.ts +21 -38
  37. package/dist/createPrimitiveApp.d.ts.map +1 -1
  38. package/dist/index.d.ts +21 -27
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +15428 -19357
  41. package/dist/index.umd.cjs +5 -5
  42. package/dist/pages/PrimitiveNotFound.vue.d.ts +15 -1
  43. package/dist/pages/PrimitiveNotFound.vue.d.ts.map +1 -1
  44. package/dist/router/primitiveRouter.d.ts +8 -36
  45. package/dist/router/primitiveRouter.d.ts.map +1 -1
  46. package/dist/stores/documentDebuggerStore.d.ts +1 -1
  47. package/dist/stores/userStore.d.ts +53 -9
  48. package/dist/stores/userStore.d.ts.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/PrimitiveNotFound.vue.d.ts +0 -4
  51. package/dist/PrimitiveNotFound.vue.d.ts.map +0 -1
  52. package/dist/components/documents/PrimitiveManageDocuments.vue.d.ts +0 -4
  53. package/dist/components/documents/PrimitiveManageDocuments.vue.d.ts.map +0 -1
  54. package/dist/components/documents/PrimitiveSingleDocumentSwitcher.vue.d.ts +0 -4
  55. package/dist/components/documents/PrimitiveSingleDocumentSwitcher.vue.d.ts.map +0 -1
  56. package/dist/components/navigation/PrimitiveAppBreadcrumb.vue.d.ts +0 -4
  57. package/dist/components/navigation/PrimitiveAppBreadcrumb.vue.d.ts.map +0 -1
  58. package/dist/components/navigation/PrimitiveAppSidebarHeader.vue.d.ts +0 -4
  59. package/dist/components/navigation/PrimitiveAppSidebarHeader.vue.d.ts.map +0 -1
  60. package/dist/components/navigation/PrimitiveBottomNav.vue.d.ts +0 -8
  61. package/dist/components/navigation/PrimitiveBottomNav.vue.d.ts.map +0 -1
  62. package/dist/components/navigation/PrimitiveNavigationBadge.vue.d.ts +0 -14
  63. package/dist/components/navigation/PrimitiveNavigationBadge.vue.d.ts.map +0 -1
  64. package/dist/components/navigation/PrimitiveSidebarNav.vue.d.ts +0 -4
  65. package/dist/components/navigation/PrimitiveSidebarNav.vue.d.ts.map +0 -1
  66. package/dist/components/navigation/PrimitiveUserMenu.vue.d.ts +0 -43
  67. package/dist/components/navigation/PrimitiveUserMenu.vue.d.ts.map +0 -1
  68. package/dist/components/shared/PrimitiveSkeletonGate.vue.d.ts.map +0 -1
  69. package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +0 -18
  70. package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts.map +0 -1
  71. package/dist/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts +0 -18
  72. package/dist/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts.map +0 -1
  73. package/dist/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts +0 -18
  74. package/dist/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts.map +0 -1
  75. package/dist/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts +0 -21
  76. package/dist/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts.map +0 -1
  77. package/dist/components/ui/breadcrumb/BreadcrumbList.vue.d.ts +0 -18
  78. package/dist/components/ui/breadcrumb/BreadcrumbList.vue.d.ts.map +0 -1
  79. package/dist/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts +0 -18
  80. package/dist/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts.map +0 -1
  81. package/dist/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts +0 -18
  82. package/dist/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts.map +0 -1
  83. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  84. package/dist/components/ui/breadcrumb/index.d.ts.map +0 -1
  85. package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -38
  86. package/dist/components/ui/carousel/Carousel.vue.d.ts.map +0 -1
  87. package/dist/components/ui/collapsible/Collapsible.vue.d.ts +0 -21
  88. package/dist/components/ui/collapsible/Collapsible.vue.d.ts.map +0 -1
  89. package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts +0 -15
  90. package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts.map +0 -1
  91. package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +0 -15
  92. package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts.map +0 -1
  93. package/dist/components/ui/collapsible/index.d.ts +0 -4
  94. package/dist/components/ui/collapsible/index.d.ts.map +0 -1
  95. package/dist/components/ui/empty/Empty.vue.d.ts +0 -18
  96. package/dist/components/ui/empty/Empty.vue.d.ts.map +0 -1
  97. package/dist/components/ui/empty/EmptyContent.vue.d.ts +0 -18
  98. package/dist/components/ui/empty/EmptyContent.vue.d.ts.map +0 -1
  99. package/dist/components/ui/empty/EmptyDescription.vue.d.ts +0 -18
  100. package/dist/components/ui/empty/EmptyDescription.vue.d.ts.map +0 -1
  101. package/dist/components/ui/empty/EmptyHeader.vue.d.ts +0 -18
  102. package/dist/components/ui/empty/EmptyHeader.vue.d.ts.map +0 -1
  103. package/dist/components/ui/empty/EmptyMedia.vue.d.ts +0 -20
  104. package/dist/components/ui/empty/EmptyMedia.vue.d.ts.map +0 -1
  105. package/dist/components/ui/empty/EmptyTitle.vue.d.ts +0 -18
  106. package/dist/components/ui/empty/EmptyTitle.vue.d.ts.map +0 -1
  107. package/dist/components/ui/empty/index.d.ts +0 -12
  108. package/dist/components/ui/empty/index.d.ts.map +0 -1
  109. package/dist/components/ui/sidebar/Sidebar.vue.d.ts +0 -23
  110. package/dist/components/ui/sidebar/Sidebar.vue.d.ts.map +0 -1
  111. package/dist/components/ui/sidebar/SidebarContent.vue.d.ts +0 -18
  112. package/dist/components/ui/sidebar/SidebarContent.vue.d.ts.map +0 -1
  113. package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts +0 -18
  114. package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts.map +0 -1
  115. package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts +0 -18
  116. package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts.map +0 -1
  117. package/dist/components/ui/sidebar/SidebarGroupAction.vue.d.ts +0 -19
  118. package/dist/components/ui/sidebar/SidebarGroupAction.vue.d.ts.map +0 -1
  119. package/dist/components/ui/sidebar/SidebarGroupContent.vue.d.ts +0 -18
  120. package/dist/components/ui/sidebar/SidebarGroupContent.vue.d.ts.map +0 -1
  121. package/dist/components/ui/sidebar/SidebarGroupLabel.vue.d.ts +0 -19
  122. package/dist/components/ui/sidebar/SidebarGroupLabel.vue.d.ts.map +0 -1
  123. package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts +0 -18
  124. package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts.map +0 -1
  125. package/dist/components/ui/sidebar/SidebarInput.vue.d.ts +0 -18
  126. package/dist/components/ui/sidebar/SidebarInput.vue.d.ts.map +0 -1
  127. package/dist/components/ui/sidebar/SidebarInset.vue.d.ts +0 -18
  128. package/dist/components/ui/sidebar/SidebarInset.vue.d.ts.map +0 -1
  129. package/dist/components/ui/sidebar/SidebarMenu.vue.d.ts +0 -18
  130. package/dist/components/ui/sidebar/SidebarMenu.vue.d.ts.map +0 -1
  131. package/dist/components/ui/sidebar/SidebarMenuAction.vue.d.ts +0 -22
  132. package/dist/components/ui/sidebar/SidebarMenuAction.vue.d.ts.map +0 -1
  133. package/dist/components/ui/sidebar/SidebarMenuBadge.vue.d.ts +0 -18
  134. package/dist/components/ui/sidebar/SidebarMenuBadge.vue.d.ts.map +0 -1
  135. package/dist/components/ui/sidebar/SidebarMenuButton.vue.d.ts +0 -25
  136. package/dist/components/ui/sidebar/SidebarMenuButton.vue.d.ts.map +0 -1
  137. package/dist/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +0 -27
  138. package/dist/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts.map +0 -1
  139. package/dist/components/ui/sidebar/SidebarMenuItem.vue.d.ts +0 -18
  140. package/dist/components/ui/sidebar/SidebarMenuItem.vue.d.ts.map +0 -1
  141. package/dist/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts +0 -9
  142. package/dist/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts.map +0 -1
  143. package/dist/components/ui/sidebar/SidebarMenuSub.vue.d.ts +0 -18
  144. package/dist/components/ui/sidebar/SidebarMenuSub.vue.d.ts.map +0 -1
  145. package/dist/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts +0 -24
  146. package/dist/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts.map +0 -1
  147. package/dist/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts +0 -18
  148. package/dist/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts.map +0 -1
  149. package/dist/components/ui/sidebar/SidebarProvider.vue.d.ts +0 -27
  150. package/dist/components/ui/sidebar/SidebarProvider.vue.d.ts.map +0 -1
  151. package/dist/components/ui/sidebar/SidebarRail.vue.d.ts +0 -18
  152. package/dist/components/ui/sidebar/SidebarRail.vue.d.ts.map +0 -1
  153. package/dist/components/ui/sidebar/SidebarSeparator.vue.d.ts +0 -18
  154. package/dist/components/ui/sidebar/SidebarSeparator.vue.d.ts.map +0 -1
  155. package/dist/components/ui/sidebar/SidebarTrigger.vue.d.ts +0 -8
  156. package/dist/components/ui/sidebar/SidebarTrigger.vue.d.ts.map +0 -1
  157. package/dist/components/ui/sidebar/index.d.ts +0 -38
  158. package/dist/components/ui/sidebar/index.d.ts.map +0 -1
  159. package/dist/components/ui/sidebar/utils.d.ts +0 -57
  160. package/dist/components/ui/sidebar/utils.d.ts.map +0 -1
  161. package/dist/components/ui/tooltip/Tooltip.vue.d.ts +0 -21
  162. package/dist/components/ui/tooltip/Tooltip.vue.d.ts.map +0 -1
  163. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +0 -27
  164. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts.map +0 -1
  165. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +0 -17
  166. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts.map +0 -1
  167. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +0 -15
  168. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts.map +0 -1
  169. package/dist/components/ui/tooltip/index.d.ts +0 -5
  170. package/dist/components/ui/tooltip/index.d.ts.map +0 -1
  171. package/dist/layouts/PrimitiveAppLayout.vue.d.ts +0 -38
  172. package/dist/layouts/PrimitiveAppLayout.vue.d.ts.map +0 -1
  173. package/dist/layouts/PrimitiveLoginLayout.vue.d.ts +0 -24
  174. package/dist/layouts/PrimitiveLoginLayout.vue.d.ts.map +0 -1
  175. package/dist/layouts/PrimitiveStaticLayout.vue.d.ts +0 -17
  176. package/dist/layouts/PrimitiveStaticLayout.vue.d.ts.map +0 -1
  177. package/dist/stores/appConfigStore.d.ts +0 -123
  178. package/dist/stores/appConfigStore.d.ts.map +0 -1
  179. package/dist/stores/breadcrumbsStore.d.ts +0 -49
  180. package/dist/stores/breadcrumbsStore.d.ts.map +0 -1
  181. package/dist/stores/jsBaoDocumentsStore.d.ts +0 -320
  182. package/dist/stores/jsBaoDocumentsStore.d.ts.map +0 -1
  183. package/dist/stores/multiDocumentStore.d.ts +0 -68
  184. package/dist/stores/multiDocumentStore.d.ts.map +0 -1
  185. package/dist/stores/navigationStore.d.ts +0 -198
  186. package/dist/stores/navigationStore.d.ts.map +0 -1
  187. package/dist/stores/singleDocumentStore.d.ts +0 -127
  188. package/dist/stores/singleDocumentStore.d.ts.map +0 -1
  189. package/dist/types/app.d.ts +0 -23
  190. package/dist/types/app.d.ts.map +0 -1
  191. package/dist/types/navigation.d.ts +0 -157
  192. package/dist/types/navigation.d.ts.map +0 -1
package/README.md CHANGED
@@ -6,10 +6,6 @@ A Vue helper library that makes it easy to build local-first applications on the
6
6
 
7
7
  - **User authentication out of the box** — Built-in support for Google OAuth, Passkey, and Magic Link sign-in, plus auth-aware router extensions that handle protected routes and redirects automatically.
8
8
 
9
- - **Document store patterns** — Ready-to-use stores like `singleDocumentStore` and `multiDocumentStore` that implement common patterns for working with js-bao documents, including connection management, sharing, and permissions.
10
-
11
- - **Vue-native reactivity** — Exposes user information, document status, data loading state, and js-bao events through Vue's reactivity system via Pinia stores and composables.
12
-
13
9
  - **UI components** — A library of layouts and components (navigation, auth flows, document management) that you can use as-is, customize, or ignore entirely if they don't fit your app.
14
10
 
15
11
  ## Getting Started
@@ -1,8 +1,25 @@
1
+ /**
2
+ * Configuration for which profile fields to show/require.
3
+ */
4
+ export interface ProfileConfig {
5
+ /** Whether to show the name field */
6
+ requestName?: boolean;
7
+ /** Whether name is required before saving */
8
+ requireName?: boolean;
9
+ /** Whether to show the avatar field */
10
+ requestAvatar?: boolean;
11
+ /** Whether avatar is required before saving */
12
+ requireAvatar?: boolean;
13
+ }
1
14
  interface Props {
2
15
  /**
3
16
  * Whether the dialog is open.
4
17
  */
5
18
  open?: boolean;
19
+ /**
20
+ * Profile editing configuration.
21
+ */
22
+ profileConfig?: ProfileConfig;
6
23
  }
7
24
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
25
  "update:open": (value: boolean) => any;
@@ -10,6 +27,7 @@ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {},
10
27
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
28
  }>, {
12
29
  open: boolean;
30
+ profileConfig: ProfileConfig;
13
31
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
32
  declare const _default: typeof __VLS_export;
15
33
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"EditProfile.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/EditProfile.vue"],"names":[],"mappings":"AAiiBA,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwiCD,QAAA,MAAM,YAAY;;;;;UAziCT,OAAO;6EA6iCd,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"EditProfile.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/EditProfile.vue"],"names":[],"mappings":"AAojBA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAgjCD,QAAA,MAAM,YAAY;;;;;UArjCT,OAAO;mBAIE,aAAa;6EAqjC7B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -4,7 +4,7 @@ import type { Component } from "vue";
4
4
  *
5
5
  * App metadata displayed in the header (name + optional logo).
6
6
  */
7
- interface AppInfo {
7
+ export interface AppInfo {
8
8
  /**
9
9
  * App name displayed above the login button.
10
10
  */
@@ -25,7 +25,7 @@ interface AppInfo {
25
25
  *
26
26
  * Provide either an absolute/path URL or a named route for each link.
27
27
  */
28
- interface LoginLinks {
28
+ export interface LoginLinks {
29
29
  /**
30
30
  * Absolute or path URL to your Terms of Service page.
31
31
  */
@@ -43,50 +43,17 @@ interface LoginLinks {
43
43
  */
44
44
  privacyPolicyRoute?: string;
45
45
  }
46
- interface CarouselItemData {
47
- /**
48
- * Optional icon to show above the title.
49
- */
50
- icon?: Component;
51
- /**
52
- * Short headline shown for the slide.
53
- */
54
- title: string;
55
- /**
56
- * Supporting description text shown for the slide.
57
- */
58
- description: string;
59
- /**
60
- * Optional custom content component for the slide.
61
- */
62
- content?: Component;
63
- }
64
46
  /**
65
- * @componentType
66
- *
67
- * Optional carousel content displayed on large screens.
47
+ * Email authentication method.
48
+ * - `magic_link`: User receives a clickable link in their email (default)
49
+ * - `one_time_code`: User receives a 6-digit code to enter in the app
68
50
  */
69
- interface CarouselOptions {
70
- /**
71
- * Slides to display in the carousel.
72
- */
73
- items: CarouselItemData[];
74
- /**
75
- * Autoplay delay in milliseconds.
76
- *
77
- * Defaults to 5000ms when not provided.
78
- */
79
- autoplayDelay?: number;
80
- }
51
+ type EmailAuthMethod = "magic_link" | "one_time_code";
81
52
  interface Props {
82
53
  /**
83
54
  * App metadata displayed in the header (name + optional logo).
84
55
  */
85
56
  appInfo: AppInfo;
86
- /**
87
- * Optional marketing/help carousel configuration shown on large screens.
88
- */
89
- carousel?: CarouselOptions;
90
57
  /**
91
58
  * Optional Terms of Service / Privacy Policy links displayed under the login button.
92
59
  */
@@ -101,6 +68,12 @@ interface Props {
101
68
  * parameter is present. Used only if `defaultContinueUrl` is not provided.
102
69
  */
103
70
  defaultContinueRoute?: string;
71
+ /**
72
+ * Which email authentication method to use.
73
+ * - `magic_link` (default): User receives a clickable link in their email
74
+ * - `one_time_code`: User receives a 6-digit code to enter in the app
75
+ */
76
+ emailAuthMethod?: EmailAuthMethod;
104
77
  }
105
78
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
106
79
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveLogin.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PrimitiveLogin.vue"],"names":[],"mappings":"AAg2BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAYrC;;;;GAIG;AACH,UAAU,OAAO;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,UAAU,UAAU;IAClB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,gBAAgB;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,UAAU,eAAe;IACvB;;OAEG;IACH,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AASD,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAmrCD,QAAA,MAAM,YAAY,sRAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PrimitiveLogin.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PrimitiveLogin.vue"],"names":[],"mappings":"AA0hCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAWrC;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD;;;;GAIG;AACH,KAAK,eAAe,GAAG,YAAY,GAAG,eAAe,CAAC;AAEtD,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AA6+CD,QAAA,MAAM,YAAY,sRAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -27,22 +27,22 @@ interface Props {
27
27
  loadingComponent?: Component;
28
28
  /**
29
29
  * Whether to show the name field if user.name is blank.
30
- * Defaults to appConfig.profileConfig().requestName
30
+ * @default true
31
31
  */
32
32
  requestName?: boolean;
33
33
  /**
34
34
  * Whether name is required before continuing.
35
- * Defaults to appConfig.profileConfig().requireName
35
+ * @default false
36
36
  */
37
37
  requireName?: boolean;
38
38
  /**
39
39
  * Whether to show the avatar field if user.avatarUrl is blank.
40
- * Defaults to appConfig.profileConfig().requestAvatar
40
+ * @default true
41
41
  */
42
42
  requestAvatar?: boolean;
43
43
  /**
44
44
  * Whether avatar is required before continuing.
45
- * Defaults to appConfig.profileConfig().requireAvatar
45
+ * @default false
46
46
  */
47
47
  requireAvatar?: boolean;
48
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveOauthCallback.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PrimitiveOauthCallback.vue"],"names":[],"mappings":"AAgpCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AA6BrC,UAAU,KAAK;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAG7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA+2DD,QAAA,MAAM,YAAY;iBAt4DF,OAAO;iBAKP,OAAO;mBAKL,OAAO;mBAKP,OAAO;sBAOJ,OAAO;6EAm3D1B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PrimitiveOauthCallback.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PrimitiveOauthCallback.vue"],"names":[],"mappings":"AAmnCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AA4BrC,UAAU,KAAK;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAG7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAm1DD,QAAA,MAAM,YAAY;iBA12DF,OAAO;iBAKP,OAAO;mBAKL,OAAO;mBAKP,OAAO;sBAOJ,OAAO;6EAu1D1B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentDebuggerIndex.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/debug-suite/document-debugger/DocumentDebuggerIndex.vue"],"names":[],"mappings":"AA8/RA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"DocumentDebuggerIndex.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/debug-suite/document-debugger/DocumentDebuggerIndex.vue"],"names":[],"mappings":"AA4+RA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -31,14 +31,14 @@ interface Props {
31
31
  isSyncing?: boolean;
32
32
  }
33
33
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
34
- select: (docId: string) => any;
35
34
  delete: (docId: string) => any;
35
+ select: (docId: string) => any;
36
36
  "mass-delete": () => any;
37
37
  "add-document": (title: string) => any;
38
38
  "rename-document": (docId: string, title: string) => any;
39
39
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
40
- onSelect?: ((docId: string) => any) | undefined;
41
40
  onDelete?: ((docId: string) => any) | undefined;
41
+ onSelect?: ((docId: string) => any) | undefined;
42
42
  "onMass-delete"?: (() => any) | undefined;
43
43
  "onAdd-document"?: ((title: string) => any) | undefined;
44
44
  "onRename-document"?: ((docId: string, title: string) => any) | undefined;
@@ -0,0 +1,36 @@
1
+ interface Props {
2
+ /**
3
+ * Singular display name for a document (e.g., "Project", "Workspace").
4
+ * @default "Document"
5
+ */
6
+ documentName?: string;
7
+ /**
8
+ * Optional list of tags to filter documents by.
9
+ * When provided, only documents with at least one matching tag are shown.
10
+ */
11
+ filterTags?: string[];
12
+ /**
13
+ * URL template for invitation links. Use `{documentId}` as a placeholder that will
14
+ * be replaced with the actual document ID. If not provided, no documentUrl will be
15
+ * included in the invitation.
16
+ * @example "https://example.com/documents/{documentId}"
17
+ */
18
+ inviteUrlTemplate?: string;
19
+ /**
20
+ * Optional ID of the currently active document.
21
+ * When provided, a "Current" badge is shown next to the matching document.
22
+ */
23
+ currentDocumentId?: string | null;
24
+ }
25
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
26
+ "document-click": (documentId: string, title: string) => any;
27
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
28
+ "onDocument-click"?: ((documentId: string, title: string) => any) | undefined;
29
+ }>, {
30
+ currentDocumentId: string | null;
31
+ documentName: string;
32
+ filterTags: string[];
33
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ declare const _default: typeof __VLS_export;
35
+ export default _default;
36
+ //# sourceMappingURL=PrimitiveDocumentList.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveDocumentList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/documents/PrimitiveDocumentList.vue"],"names":[],"mappings":"AA6kCA,UAAU,KAAK;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA4hFD,QAAA,MAAM,YAAY;;;;;uBA7hFI,MAAM,GAAG,IAAI;kBAjBlB,MAAM;gBAKR,MAAM,EAAE;6EA6iFrB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,44 @@
1
+ import type { Component } from "vue";
2
+ interface Props {
3
+ /**
4
+ * Label text displayed in the header (e.g., app name or current context).
5
+ */
6
+ label: string;
7
+ /**
8
+ * Icon component to display in the header.
9
+ */
10
+ icon?: Component;
11
+ /**
12
+ * ID of the currently active document (used to highlight in the menu).
13
+ */
14
+ currentDocumentId?: string | null;
15
+ /**
16
+ * Plural name for documents (e.g., "Projects", "Workspaces").
17
+ * Used in "Manage [Documents]" label.
18
+ */
19
+ documentNamePlural?: string;
20
+ /**
21
+ * Route path for the manage documents page.
22
+ * If not provided, the manage link is hidden.
23
+ */
24
+ manageDocumentsPath?: string;
25
+ /**
26
+ * Whether the component is rendered in mobile mode.
27
+ * Affects dropdown menu positioning.
28
+ */
29
+ mobile?: boolean;
30
+ }
31
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
32
+ navigate: () => any;
33
+ "switch-document": (documentId: string, title: string) => any;
34
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
35
+ onNavigate?: (() => any) | undefined;
36
+ "onSwitch-document"?: ((documentId: string, title: string) => any) | undefined;
37
+ }>, {
38
+ currentDocumentId: string | null;
39
+ documentNamePlural: string;
40
+ mobile: boolean;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
44
+ //# sourceMappingURL=PrimitiveDocumentSwitcher.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveDocumentSwitcher.vue.d.ts","sourceRoot":"","sources":["../../../src/components/documents/PrimitiveDocumentSwitcher.vue"],"names":[],"mappings":"AAiWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AA+BrC,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA0cD,QAAA,MAAM,YAAY;;;;;;;uBA1dI,MAAM,GAAG,IAAI;wBAKZ,MAAM;YAUlB,OAAO;6EA+chB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -13,6 +13,13 @@ interface Props {
13
13
  * @default "Document"
14
14
  */
15
15
  documentLabel?: string;
16
+ /**
17
+ * URL template for invitation links. Use `{documentId}` as a placeholder that will
18
+ * be replaced with the actual document ID. If not provided, no documentUrl will be
19
+ * included in the invitation.
20
+ * @example "https://example.com/documents/{documentId}"
21
+ */
22
+ inviteUrlTemplate?: string;
16
23
  }
17
24
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
18
25
  close: () => any;
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveShareDocumentDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/documents/PrimitiveShareDocumentDialog.vue"],"names":[],"mappings":"AAylBA,UAAU,KAAK;IACb;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAshCD,QAAA,MAAM,YAAY;;;;;mBAvhCA,MAAM;6EA2hCtB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PrimitiveShareDocumentDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/documents/PrimitiveShareDocumentDialog.vue"],"names":[],"mappings":"AAu7BA,UAAU,KAAK;IACb;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAgwDD,QAAA,MAAM,YAAY;;;;;mBAxwDA,MAAM;6EA4wDtB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -4,19 +4,20 @@ interface Slots {
4
4
  */
5
5
  default?: () => unknown;
6
6
  /**
7
- * Skeleton placeholder content to render after `delayMs` while loading.
7
+ * Loading indicator content to render after `delayMs` while loading.
8
+ * Can be a skeleton, spinner, or any other loading state visualization.
8
9
  */
9
- skeleton?: () => unknown;
10
+ loading?: () => unknown;
10
11
  }
11
12
  type __VLS_Slots = Slots;
12
13
  interface Props {
13
14
  /**
14
- * When true, renders the default slot. When false, begins the loading/skeleton flow.
15
+ * When true, renders the default slot. When false, begins the loading/gate flow.
15
16
  */
16
17
  isReady: boolean;
17
18
  /**
18
- * Milliseconds to wait before rendering the `skeleton` slot.
19
- * @default 200
19
+ * Milliseconds to wait before rendering the `loading` slot.
20
+ * @default 50
20
21
  */
21
22
  delayMs?: number;
22
23
  }
@@ -31,4 +32,4 @@ type __VLS_WithSlots<T, S> = T & {
31
32
  $slots: S;
32
33
  };
33
34
  };
34
- //# sourceMappingURL=PrimitiveSkeletonGate.vue.d.ts.map
35
+ //# sourceMappingURL=PrimitiveLoadingGate.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveLoadingGate.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/PrimitiveLoadingGate.vue"],"names":[],"mappings":"AAqHA,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACzB;AAED,KAAK,WAAW,GAAG,KAAK,CAAC;AAGzB,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4ED,QAAA,MAAM,UAAU;aA7EJ,MAAM;6EAgFhB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Mobile bottom navigation tab bar.
3
+ *
4
+ * Fixed to the bottom of the viewport, provides icon + label navigation
5
+ * links with active state highlighting.
6
+ */
7
+ import type { Component } from "vue";
8
+ /**
9
+ * Navigation item configuration for the tab bar.
10
+ */
11
+ export interface TabBarItem {
12
+ /** Unique identifier for the item */
13
+ name: string;
14
+ /** Display label shown below the icon */
15
+ label: string;
16
+ /** Lucide icon component */
17
+ icon: Component;
18
+ /** Route path to navigate to */
19
+ path: string;
20
+ }
21
+ interface Props {
22
+ /**
23
+ * Navigation items to display in the tab bar.
24
+ */
25
+ items: TabBarItem[];
26
+ }
27
+ declare var __VLS_12: {};
28
+ type __VLS_Slots = {} & {
29
+ trailing?: (props: typeof __VLS_12) => any;
30
+ };
31
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
40
+ //# sourceMappingURL=PrimitiveMobileTabBar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveMobileTabBar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/PrimitiveMobileTabBar.vue"],"names":[],"mappings":"AA4EA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAIrC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAkHD,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKjD,QAAA,MAAM,UAAU,sRAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { Component } from "vue";
2
+ export interface UserMenuUserInfo {
3
+ name: string;
4
+ email: string;
5
+ avatarUrl?: string;
6
+ }
7
+ export interface UserMenuItem {
8
+ /** Unique identifier for the menu item */
9
+ id: string;
10
+ /** Display label */
11
+ label: string;
12
+ /** Lucide icon component */
13
+ icon: Component;
14
+ /** If provided, renders as a RouterLink to this path */
15
+ to?: string;
16
+ }
17
+ interface Props {
18
+ /** User information to display */
19
+ user: UserMenuUserInfo;
20
+ /** Whether the user is online */
21
+ isOnline?: boolean;
22
+ /** Menu items to display in the dropdown */
23
+ menuItems?: UserMenuItem[];
24
+ /** Side to display the dropdown menu (for sidebar context) */
25
+ menuSide?: "top" | "bottom" | "left" | "right";
26
+ }
27
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
28
+ "menu-item-click": (itemId: string) => any;
29
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
30
+ "onMenu-item-click"?: ((itemId: string) => any) | undefined;
31
+ }>, {
32
+ isOnline: boolean;
33
+ menuItems: UserMenuItem[];
34
+ menuSide: "top" | "bottom" | "left" | "right";
35
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const _default: typeof __VLS_export;
37
+ export default _default;
38
+ //# sourceMappingURL=PrimitiveUserMenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveUserMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/PrimitiveUserMenu.vue"],"names":[],"mappings":"AAkLA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,wDAAwD;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,KAAK;IACb,kCAAkC;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CAChD;AAsaD,QAAA,MAAM,YAAY;;;;;cA3aL,OAAO;eAEN,YAAY,EAAE;cAEf,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;6EA2a9C,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,41 @@
1
+ import type { Component } from "vue";
2
+ /**
3
+ * User information to display.
4
+ */
5
+ export interface UserTabUserInfo {
6
+ name: string;
7
+ email: string;
8
+ avatarUrl?: string;
9
+ }
10
+ /**
11
+ * Menu item configuration.
12
+ */
13
+ export interface UserTabMenuItem {
14
+ /** Unique identifier for the menu item */
15
+ id: string;
16
+ /** Display label */
17
+ label: string;
18
+ /** Lucide icon component */
19
+ icon: Component;
20
+ /** If provided, renders as a RouterLink to this path */
21
+ to?: string;
22
+ }
23
+ interface Props {
24
+ /** User information to display */
25
+ user: UserTabUserInfo;
26
+ /** Whether the user is online */
27
+ isOnline?: boolean;
28
+ /** Menu items to display in the sheet */
29
+ menuItems?: UserTabMenuItem[];
30
+ }
31
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
32
+ "menu-item-click": (itemId: string) => any;
33
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
34
+ "onMenu-item-click"?: ((itemId: string) => any) | undefined;
35
+ }>, {
36
+ isOnline: boolean;
37
+ menuItems: UserTabMenuItem[];
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
41
+ //# sourceMappingURL=PrimitiveUserTabItem.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveUserTabItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/PrimitiveUserTabItem.vue"],"names":[],"mappings":"AAgMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAIrC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,wDAAwD;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,KAAK;IACb,kCAAkC;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;CAC/B;AAkYD,QAAA,MAAM,YAAY;;;;;cArYL,OAAO;eAEN,eAAe,EAAE;6EAuY7B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,7 +1,7 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
2
  export { default as Badge } from "./Badge.vue";
3
3
  export declare const badgeVariants: (props?: ({
4
- variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
4
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export type BadgeVariants = VariantProps<typeof badgeVariants>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
2
  export { default as Button } from "./Button.vue";
3
3
  export declare const buttonVariants: (props?: ({
4
- variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
5
- size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
4
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export type ButtonVariants = VariantProps<typeof buttonVariants>;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_10) => any;
10
10
  };
11
11
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- size: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null;
13
- variant: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null;
12
+ size: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null;
13
+ variant: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null;
14
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_10) => any;
10
10
  };
11
11
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- size: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null;
13
- variant: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null;
12
+ size: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null;
13
+ variant: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null;
14
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -1,7 +1,8 @@
1
1
  import type useEmblaCarousel from "embla-carousel-vue";
2
2
  import type { EmblaCarouselVueType } from "embla-carousel-vue";
3
- import type { HTMLAttributes, UnwrapRef } from "vue";
3
+ import type { HTMLAttributes, Ref, UnwrapRef } from "vue";
4
4
  type CarouselApi = EmblaCarouselVueType[1];
5
+ type CarouselRef = EmblaCarouselVueType[0];
5
6
  type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
6
7
  type CarouselOptions = UseCarouselParameters[0];
7
8
  type CarouselPlugin = UseCarouselParameters[1];
@@ -17,5 +18,14 @@ export interface CarouselEmits {
17
18
  export interface WithClassAsProps {
18
19
  class?: HTMLAttributes["class"];
19
20
  }
21
+ export interface CarouselState {
22
+ carouselRef: CarouselRef;
23
+ carouselApi: CarouselApi;
24
+ canScrollPrev: Ref<boolean>;
25
+ canScrollNext: Ref<boolean>;
26
+ scrollPrev: () => void;
27
+ scrollNext: () => void;
28
+ orientation: "horizontal" | "vertical" | undefined;
29
+ }
20
30
  export {};
21
31
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErD,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAE1D,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;CACpD"}
@@ -1,21 +1,5 @@
1
- import type { CarouselEmits, CarouselProps } from "./interface";
2
- declare const useProvideCarousel: (args_0: CarouselProps, emits: CarouselEmits) => {
3
- carouselRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
4
- carouselApi: import("vue").Ref<import("embla-carousel").EmblaCarouselType | undefined, import("embla-carousel").EmblaCarouselType | undefined>;
5
- canScrollPrev: import("vue").Ref<boolean, boolean>;
6
- canScrollNext: import("vue").Ref<boolean, boolean>;
7
- scrollPrev: () => void;
8
- scrollNext: () => void;
9
- orientation: "horizontal" | "vertical" | undefined;
10
- };
11
- declare function useCarousel(): {
12
- carouselRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
13
- carouselApi: import("vue").Ref<import("embla-carousel").EmblaCarouselType | undefined, import("embla-carousel").EmblaCarouselType | undefined>;
14
- canScrollPrev: import("vue").Ref<boolean, boolean>;
15
- canScrollNext: import("vue").Ref<boolean, boolean>;
16
- scrollPrev: () => void;
17
- scrollNext: () => void;
18
- orientation: "horizontal" | "vertical" | undefined;
19
- };
1
+ import type { CarouselEmits, CarouselProps, CarouselState } from "./interface";
2
+ declare const useProvideCarousel: (args_0: CarouselProps, emits: CarouselEmits) => CarouselState;
3
+ declare function useCarousel(): CarouselState;
20
4
  export { useCarousel, useProvideCarousel };
21
5
  //# sourceMappingURL=useCarousel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/useCarousel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AAKrB,QAAA,MAAO,kBAAkB;;;;;;;;CA6CxB,CAAC;AAEF,iBAAS,WAAW;;;;;;;;EAOnB;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"useCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/carousel/useCarousel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AAKrB,QAAA,MAAO,kBAAkB,gEAgDxB,CAAC;AAEF,iBAAS,WAAW,IAAI,aAAa,CAOpC;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC"}