@strands.gg/accui 2.17.59 → 2.17.61

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 (177) hide show
  1. package/dist/StrandsUIPlugin-5AOCDOcM.cjs.js +143 -0
  2. package/dist/StrandsUIPlugin-CCRrewS9.es.js +20587 -0
  3. package/dist/accui.css +1 -0
  4. package/dist/index.cjs.js +5 -0
  5. package/dist/index.d.ts +6 -0
  6. package/dist/index.es.js +12948 -0
  7. package/dist/nuxt/module.cjs.js +23 -0
  8. package/dist/nuxt/module.d.ts +4 -0
  9. package/dist/nuxt/module.es.js +182 -0
  10. package/dist/nuxt/runtime/composables/useAuthenticatedFetch.cjs.js +1 -0
  11. package/dist/nuxt/runtime/composables/useAuthenticatedFetch.d.ts +20 -0
  12. package/dist/nuxt/runtime/composables/useAuthenticatedFetch.es.js +103 -0
  13. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +1 -0
  14. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +111 -0
  15. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +100 -0
  16. package/dist/nuxt/runtime/composables/useStrandsOAuth.d.ts +8 -0
  17. package/dist/nuxt/runtime/middleware/auth.d.ts +6 -0
  18. package/dist/nuxt/runtime/middleware/auth.global.cjs.js +1 -0
  19. package/dist/nuxt/runtime/middleware/auth.global.d.ts +2 -0
  20. package/dist/nuxt/runtime/middleware/auth.global.es.js +17 -0
  21. package/dist/nuxt/runtime/middleware/guest.d.ts +6 -0
  22. package/dist/nuxt/runtime/plugin.client.cjs.js +1 -0
  23. package/dist/nuxt/runtime/plugin.client.d.ts +2 -0
  24. package/dist/nuxt/runtime/plugin.client.es.js +21 -0
  25. package/dist/nuxt/runtime/plugin.server.cjs.js +1 -0
  26. package/dist/nuxt/runtime/plugin.server.d.ts +2 -0
  27. package/dist/nuxt/runtime/plugin.server.es.js +15 -0
  28. package/dist/nuxt/runtime/plugins/auth-interceptor.client.cjs.js +1 -0
  29. package/dist/nuxt/runtime/plugins/auth-interceptor.client.d.ts +9 -0
  30. package/dist/nuxt/runtime/plugins/auth-interceptor.client.es.js +46 -0
  31. package/dist/nuxt/types.d.ts +51 -0
  32. package/dist/nuxt.cjs.js +1 -0
  33. package/dist/nuxt.d.ts +4 -0
  34. package/dist/nuxt.es.js +11 -0
  35. package/dist/robots.txt +4 -0
  36. package/dist/shared/defaults.d.ts +2 -0
  37. package/dist/sitemap.xml +9 -0
  38. package/dist/types/composables.d.ts +97 -0
  39. package/dist/types/index.d.ts +263 -0
  40. package/dist/types/oauth.d.ts +420 -0
  41. package/dist/useDarkMode-BdG1G2mj.es.js +102 -0
  42. package/dist/useDarkMode-Dd0Q5Nnz.cjs.js +1 -0
  43. package/dist/useStrandsAuth-DSLFMDTj.es.js +717 -0
  44. package/dist/useStrandsAuth-Db5ZGvxL.cjs.js +1 -0
  45. package/dist/useStrandsConfig-B2UXxIbT.es.js +213 -0
  46. package/dist/useStrandsConfig-BYOAEt9d.cjs.js +1 -0
  47. package/dist/utils/colors.d.ts +10 -0
  48. package/dist/utils/index.d.ts +2 -0
  49. package/dist/utils/slots.d.ts +1 -0
  50. package/dist/utils/validation.d.ts +12 -0
  51. package/dist/vite/index.d.ts +2 -0
  52. package/dist/vite/plugin.d.ts +68 -0
  53. package/dist/vite.cjs.js +29 -0
  54. package/dist/vite.d.ts +6 -0
  55. package/dist/vite.es.js +92 -0
  56. package/dist/vue/components/SignedIn.vue.d.ts +35 -0
  57. package/dist/vue/components/StrandsAuth.vue.d.ts +24 -0
  58. package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts +11 -0
  59. package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts +20 -0
  60. package/dist/vue/components/StrandsConfigProvider.vue.d.ts +21 -0
  61. package/dist/vue/components/StrandsConfirmModal.vue.d.ts +21 -0
  62. package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts +11 -0
  63. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +14 -0
  64. package/dist/vue/components/StrandsLogo.vue.d.ts +9 -0
  65. package/dist/vue/components/StrandsMFASetup.vue.d.ts +15 -0
  66. package/dist/vue/components/StrandsMfaModal.vue.d.ts +11 -0
  67. package/dist/vue/components/StrandsMfaVerification.vue.d.ts +16 -0
  68. package/dist/vue/components/StrandsNav/StrandsNav.vue.d.ts +43 -0
  69. package/dist/vue/components/StrandsNav/StrandsNavItem.vue.d.ts +26 -0
  70. package/dist/vue/components/StrandsNav/index.d.ts +8 -0
  71. package/dist/vue/components/StrandsNav/types.d.ts +12 -0
  72. package/dist/vue/components/StrandsOAuthButton.vue.d.ts +18 -0
  73. package/dist/vue/components/StrandsOAuthCallback.vue.d.ts +12 -0
  74. package/dist/vue/components/StrandsPasswordReset.vue.d.ts +14 -0
  75. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts +21 -0
  76. package/dist/vue/components/StrandsSessionsModal.vue.d.ts +11 -0
  77. package/dist/vue/components/StrandsSettingsModal.vue.d.ts +32 -0
  78. package/dist/vue/components/StrandsSignIn.vue.d.ts +20 -0
  79. package/dist/vue/components/StrandsSignUp.vue.d.ts +18 -0
  80. package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts +11 -0
  81. package/dist/vue/components/StrandsUserButton.vue.d.ts +54 -0
  82. package/dist/vue/components/StrandsUserProfile.vue.d.ts +25 -0
  83. package/dist/vue/components/SvgIcon.vue.d.ts +16 -0
  84. package/dist/vue/components/VirtualList.vue.d.ts +36 -0
  85. package/dist/vue/components/icons/IconGithub.vue.d.ts +2 -0
  86. package/dist/vue/components/icons/IconGoogle.vue.d.ts +2 -0
  87. package/dist/vue/components/icons/index.d.ts +2 -0
  88. package/dist/vue/components/index.d.ts +29 -0
  89. package/dist/vue/composables/useAuthenticatedFetch.d.ts +22 -0
  90. package/dist/vue/composables/useDarkMode.d.ts +53 -0
  91. package/dist/vue/composables/useFloatingPosition.d.ts +22 -0
  92. package/dist/vue/composables/useModalStack.d.ts +86 -0
  93. package/dist/vue/composables/useOAuthProviders.d.ts +73 -0
  94. package/dist/vue/composables/useStrandsAuth.d.ts +2 -0
  95. package/dist/vue/composables/useStrandsConfig.d.ts +5 -0
  96. package/dist/vue/composables/useStrandsMfa.d.ts +36 -0
  97. package/dist/vue/composables/useStrandsOAuth.d.ts +10 -0
  98. package/dist/vue/composables/useTheme.d.ts +18 -0
  99. package/dist/vue/index.d.ts +16 -0
  100. package/dist/vue/plugins/StrandsUIPlugin.d.ts +19 -0
  101. package/dist/vue/ui/UiAlert.vue.d.ts +30 -0
  102. package/dist/vue/ui/UiApp.vue.d.ts +26 -0
  103. package/dist/vue/ui/UiAvatarEditor.vue.d.ts +24 -0
  104. package/dist/vue/ui/UiButton/UiButton.Anchor.vue.d.ts +42 -0
  105. package/dist/vue/ui/UiButton/UiButton.Content.vue.d.ts +32 -0
  106. package/dist/vue/ui/UiButton/UiButton.Nuxt.vue.d.ts +39 -0
  107. package/dist/vue/ui/UiButton/index.d.ts +11 -0
  108. package/dist/vue/ui/UiButton.vue.d.ts +77 -0
  109. package/dist/vue/ui/UiCard.vue.d.ts +38 -0
  110. package/dist/vue/ui/UiCheckboxGroup.vue.d.ts +46 -0
  111. package/dist/vue/ui/UiColorPicker/UiColorPicker.Button.vue.d.ts +19 -0
  112. package/dist/vue/ui/UiColorPicker/UiColorPicker.Picker.vue.d.ts +31 -0
  113. package/dist/vue/ui/UiColorPicker.vue.d.ts +34 -0
  114. package/dist/vue/ui/UiDateTimePicker.vue.d.ts +36 -0
  115. package/dist/vue/ui/UiDivider.vue.d.ts +43 -0
  116. package/dist/vue/ui/UiHero.vue.d.ts +53 -0
  117. package/dist/vue/ui/UiInput/UiInput.Date.vue.d.ts +30 -0
  118. package/dist/vue/ui/UiInput/UiInput.DateTime.vue.d.ts +34 -0
  119. package/dist/vue/ui/UiInput/UiInput.File.vue.d.ts +59 -0
  120. package/dist/vue/ui/UiInput/UiInput.Pincode.vue.d.ts +58 -0
  121. package/dist/vue/ui/UiInput/UiInput.RichText.vue.d.ts +66 -0
  122. package/dist/vue/ui/UiInput/UiInput.Select.vue.d.ts +806 -0
  123. package/dist/vue/ui/UiInput/UiInput.Text.vue.d.ts +55 -0
  124. package/dist/vue/ui/UiInput/UiInput.Textarea.vue.d.ts +60 -0
  125. package/dist/vue/ui/UiInput/UiInput.Time.vue.d.ts +30 -0
  126. package/dist/vue/ui/UiInput.vue.d.ts +84 -0
  127. package/dist/vue/ui/UiLevelProgress.vue.d.ts +18 -0
  128. package/dist/vue/ui/UiLink.vue.d.ts +42 -0
  129. package/dist/vue/ui/UiLoader.vue.d.ts +18 -0
  130. package/dist/vue/ui/UiMegaMenu/UiMegaMenu.Group.vue.d.ts +20 -0
  131. package/dist/vue/ui/UiMegaMenu/UiMegaMenu.Item.vue.d.ts +35 -0
  132. package/dist/vue/ui/UiMegaMenu/UiMegaMenu.Panel.vue.d.ts +28 -0
  133. package/dist/vue/ui/UiMegaMenu/index.d.ts +4 -0
  134. package/dist/vue/ui/UiMegaMenu.vue.d.ts +48 -0
  135. package/dist/vue/ui/UiModal.vue.d.ts +71 -0
  136. package/dist/vue/ui/UiPill.vue.d.ts +43 -0
  137. package/dist/vue/ui/UiRadioGroup.vue.d.ts +40 -0
  138. package/dist/vue/ui/UiSlider.vue.d.ts +53 -0
  139. package/dist/vue/ui/UiTable.vue.d.ts +114 -0
  140. package/dist/vue/ui/UiTabs.vue.d.ts +87 -0
  141. package/dist/vue/ui/UiThemeToggle.vue.d.ts +13 -0
  142. package/dist/vue/ui/UiToggle.vue.d.ts +20 -0
  143. package/dist/vue/ui/UiTooltip.vue.d.ts +41 -0
  144. package/dist/vue/ui/index.d.ts +62 -0
  145. package/dist/vue/utils/contrast.d.ts +75 -0
  146. package/dist/vue/utils/debounce.d.ts +12 -0
  147. package/dist/vue/utils/fontPreloader.d.ts +11 -0
  148. package/dist/vue/utils/iconProps.d.ts +9 -0
  149. package/dist/vue/utils/lazyComponents.d.ts +4 -0
  150. package/dist/vue/utils/levels.d.ts +27 -0
  151. package/dist/vue/utils/modalStack.d.ts +34 -0
  152. package/dist/vue/utils/performanceInit.d.ts +40 -0
  153. package/dist/vue/utils/requestCache.d.ts +49 -0
  154. package/dist/vue/utils/slots.d.ts +9 -0
  155. package/dist/vue/utils/sounds.d.ts +57 -0
  156. package/dist/webcomponents/define-element.d.ts +19 -0
  157. package/dist/webcomponents/entries/strands-alert.d.ts +2 -0
  158. package/dist/webcomponents/entries/strands-button.d.ts +2 -0
  159. package/dist/webcomponents/entries/strands-card.d.ts +2 -0
  160. package/dist/webcomponents/entries/strands-checkbox-group.d.ts +2 -0
  161. package/dist/webcomponents/entries/strands-divider.d.ts +2 -0
  162. package/dist/webcomponents/entries/strands-input.d.ts +2 -0
  163. package/dist/webcomponents/entries/strands-link.d.ts +2 -0
  164. package/dist/webcomponents/entries/strands-loader-spinner.d.ts +2 -0
  165. package/dist/webcomponents/entries/strands-modal.d.ts +2 -0
  166. package/dist/webcomponents/entries/strands-pill.d.ts +2 -0
  167. package/dist/webcomponents/entries/strands-radio-group.d.ts +2 -0
  168. package/dist/webcomponents/entries/strands-slider.d.ts +2 -0
  169. package/dist/webcomponents/entries/strands-table.d.ts +2 -0
  170. package/dist/webcomponents/entries/strands-tabs.d.ts +2 -0
  171. package/dist/webcomponents/entries/strands-theme-toggle.d.ts +2 -0
  172. package/dist/webcomponents/entries/strands-toggle.d.ts +2 -0
  173. package/dist/webcomponents/entries/strands-tooltip.d.ts +2 -0
  174. package/dist/webcomponents/index.d.ts +8 -0
  175. package/dist/webcomponents/loader.d.ts +57 -0
  176. package/dist/webcomponents/registry.d.ts +41 -0
  177. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ import { ModalInstance } from '../utils/modalStack';
2
+ export interface UseModalOptions {
3
+ closeOnEscape?: boolean;
4
+ priority?: 'low' | 'normal' | 'high' | 'critical';
5
+ component?: string;
6
+ }
7
+ export declare function useModalStack(options?: UseModalOptions): {
8
+ isOpen: import('vue').Ref<boolean, boolean>;
9
+ modalId: import('vue').Ref<symbol, symbol>;
10
+ modalInstance: import('vue').Ref<{
11
+ id: symbol;
12
+ closeModal: () => void;
13
+ closeOnEscape: boolean;
14
+ zIndex: number;
15
+ component?: string;
16
+ priority?: "low" | "normal" | "high" | "critical";
17
+ }, ModalInstance | {
18
+ id: symbol;
19
+ closeModal: () => void;
20
+ closeOnEscape: boolean;
21
+ zIndex: number;
22
+ component?: string;
23
+ priority?: "low" | "normal" | "high" | "critical";
24
+ }>;
25
+ openModal: (customCloseHandler?: () => void) => Promise<ModalInstance>;
26
+ closeModal: () => void;
27
+ getModalContainer: () => Element | null;
28
+ getModalBackdrop: () => Element | null;
29
+ zIndex: () => number;
30
+ isTopModal: () => boolean;
31
+ };
32
+ export declare function useModalTeleport(modalId: symbol): {
33
+ target: string;
34
+ isAvailable: () => boolean;
35
+ };
36
+ export declare function useGlobalModalStack(): {
37
+ state: import('vue').Ref<{
38
+ modals: {
39
+ id: symbol;
40
+ closeModal: () => void;
41
+ closeOnEscape: boolean;
42
+ zIndex: number;
43
+ component?: string;
44
+ priority?: "low" | "normal" | "high" | "critical";
45
+ }[];
46
+ topModal: {
47
+ id: symbol;
48
+ closeModal: () => void;
49
+ closeOnEscape: boolean;
50
+ zIndex: number;
51
+ component?: string;
52
+ priority?: "low" | "normal" | "high" | "critical";
53
+ };
54
+ hasModals: boolean;
55
+ highestZIndex: number;
56
+ }, import('../utils/modalStack').ModalStackState | {
57
+ modals: {
58
+ id: symbol;
59
+ closeModal: () => void;
60
+ closeOnEscape: boolean;
61
+ zIndex: number;
62
+ component?: string;
63
+ priority?: "low" | "normal" | "high" | "critical";
64
+ }[];
65
+ topModal: {
66
+ id: symbol;
67
+ closeModal: () => void;
68
+ closeOnEscape: boolean;
69
+ zIndex: number;
70
+ component?: string;
71
+ priority?: "low" | "normal" | "high" | "critical";
72
+ };
73
+ hasModals: boolean;
74
+ highestZIndex: number;
75
+ }>;
76
+ closeAll: () => void;
77
+ closeTop: () => void;
78
+ getModalByComponent: (componentName: string) => {
79
+ id: symbol;
80
+ closeModal: () => void;
81
+ closeOnEscape: boolean;
82
+ zIndex: number;
83
+ component?: string;
84
+ priority?: "low" | "normal" | "high" | "critical";
85
+ };
86
+ };
@@ -0,0 +1,73 @@
1
+ export interface OAuthProvider {
2
+ id: string;
3
+ name: string;
4
+ displayName?: string;
5
+ icon?: string;
6
+ iconUrl?: string;
7
+ auth_url: string;
8
+ scopes: string[];
9
+ enabled: boolean;
10
+ metadata?: Record<string, string>;
11
+ }
12
+ export interface OAuthProvidersResponse {
13
+ providers: OAuthProvider[];
14
+ redirect_url: string;
15
+ }
16
+ export interface OAuthProviderDetailsResponse {
17
+ success: boolean;
18
+ data: {
19
+ provider: OAuthProvider;
20
+ authUrl: string;
21
+ state?: string;
22
+ };
23
+ error?: {
24
+ code: string;
25
+ message: string;
26
+ details?: any;
27
+ };
28
+ }
29
+ export interface UseOAuthProvidersOptions {
30
+ redirectUrl?: string;
31
+ scopes?: string[];
32
+ }
33
+ export declare function useOAuthProviders(options?: UseOAuthProvidersOptions): {
34
+ providers: import('vue').ComputedRef<{
35
+ id: string;
36
+ name: string;
37
+ displayName?: string;
38
+ icon?: string;
39
+ iconUrl?: string;
40
+ auth_url: string;
41
+ scopes: string[];
42
+ enabled: boolean;
43
+ metadata?: Record<string, string>;
44
+ }[]>;
45
+ enabledProviders: import('vue').ComputedRef<{
46
+ id: string;
47
+ name: string;
48
+ displayName?: string;
49
+ icon?: string;
50
+ iconUrl?: string;
51
+ auth_url: string;
52
+ scopes: string[];
53
+ enabled: boolean;
54
+ metadata?: Record<string, string>;
55
+ }[]>;
56
+ loading: import('vue').ComputedRef<boolean>;
57
+ error: import('vue').ComputedRef<string>;
58
+ fetchProviders: () => Promise<OAuthProvider[]>;
59
+ getProviderAuthUrl: (providerId: string, customOptions?: Partial<UseOAuthProvidersOptions>) => Promise<string>;
60
+ redirectToProvider: (providerId: string, customOptions?: Partial<UseOAuthProvidersOptions>) => Promise<void>;
61
+ getProviderById: (providerId: string) => {
62
+ id: string;
63
+ name: string;
64
+ displayName?: string;
65
+ icon?: string;
66
+ iconUrl?: string;
67
+ auth_url: string;
68
+ scopes: string[];
69
+ enabled: boolean;
70
+ metadata?: Record<string, string>;
71
+ };
72
+ getProviderIcon: (provider: OAuthProvider) => string;
73
+ };
@@ -0,0 +1,2 @@
1
+ import { UseStrandsAuthReturn } from '../../types';
2
+ export declare function useStrandsAuth(): UseStrandsAuthReturn;
@@ -0,0 +1,5 @@
1
+ import { StrandsAuthConfig, UseStrandsConfigReturn } from '../../types';
2
+ export type { StrandsAuthConfig, StrandsAuthEndpoints } from '../../types';
3
+ export declare function provideStrandsConfig(config: StrandsAuthConfig): void;
4
+ export declare function useStrandsConfig(fallbackConfig?: Partial<StrandsAuthConfig>): UseStrandsConfigReturn;
5
+ export declare function setStrandsConfig(config: StrandsAuthConfig): void;
@@ -0,0 +1,36 @@
1
+ import { MfaDevicesResponse, TotpSetupResponse, BackupCodesResponse } from '../../types';
2
+ export declare function useStrandsMfa(): {
3
+ mfaDevices: import('vue').ComputedRef<{
4
+ id: string;
5
+ device_type: import('../..').MfaDeviceType;
6
+ device_name: string;
7
+ is_active: boolean;
8
+ last_used_at?: string | Date;
9
+ created_at: string | Date;
10
+ }[]>;
11
+ mfaEnabled: import('vue').ComputedRef<boolean>;
12
+ loading: import('vue').ComputedRef<boolean>;
13
+ hasMfaDevices: import('vue').ComputedRef<boolean>;
14
+ activeMfaDevices: import('vue').ComputedRef<{
15
+ id: string;
16
+ device_type: import('../..').MfaDeviceType;
17
+ device_name: string;
18
+ is_active: boolean;
19
+ last_used_at?: string | Date;
20
+ created_at: string | Date;
21
+ }[]>;
22
+ fetchMfaDevices: () => Promise<MfaDevicesResponse>;
23
+ setupTotp: (deviceName: string) => Promise<TotpSetupResponse>;
24
+ verifyTotpSetup: (deviceId: string, totpCode: string) => Promise<void>;
25
+ setupEmailMfa: (deviceName: string) => Promise<{
26
+ device_id: string;
27
+ email: string;
28
+ }>;
29
+ sendEmailMfaCode: (deviceId: string) => Promise<void>;
30
+ verifyEmailMfaCode: (deviceId: string, code: string) => Promise<boolean>;
31
+ disableMfaDevice: (deviceId: string) => Promise<void>;
32
+ regenerateBackupCodes: (deviceId: string) => Promise<BackupCodesResponse>;
33
+ getDeviceTypeIcon: (deviceType: string) => string;
34
+ getDeviceTypeName: (deviceType: string) => string;
35
+ formatLastUsed: (lastUsedAt?: string | Date) => string;
36
+ };
@@ -0,0 +1,10 @@
1
+ import { StrandsOAuthConfig, UseStrandsOAuthReturn } from '../../types';
2
+ /**
3
+ * Composable for OAuth2 authentication with Strands Auth
4
+ *
5
+ * This composable handles the OAuth2 Authorization Code flow with PKCE
6
+ * for third-party applications integrating with Strands Auth.
7
+ *
8
+ * @param config - OAuth2 client configuration
9
+ */
10
+ export declare function useStrandsOAuth(config: StrandsOAuthConfig): UseStrandsOAuthReturn;
@@ -0,0 +1,18 @@
1
+ import { ComputedRef } from 'vue';
2
+ /**
3
+ * Composable for theme management
4
+ *
5
+ * Checks for UiApp theme provider and returns the appropriate theme
6
+ * If UiApp forces a theme (not 'auto'), all components must use that theme
7
+ */
8
+ export declare function useTheme(fallbackTheme?: 'light' | 'dark' | 'auto'): {
9
+ theme: ComputedRef<"light" | "dark" | "auto">;
10
+ isDark: ComputedRef<boolean>;
11
+ isLight: ComputedRef<boolean>;
12
+ isForced: ComputedRef<boolean>;
13
+ themeClass: ComputedRef<{
14
+ 'ui-theme--light': boolean;
15
+ 'ui-theme--dark': boolean;
16
+ 'ui-theme--forced': boolean;
17
+ }>;
18
+ };
@@ -0,0 +1,16 @@
1
+ export * from './components/index';
2
+ export * from './ui/index';
3
+ export { default as StrandsUIPlugin, injectSquircleStyles } from './plugins/StrandsUIPlugin';
4
+ export * from './composables/useStrandsAuth';
5
+ export * from './composables/useStrandsConfig';
6
+ export * from './composables/useOAuthProviders';
7
+ export * from './composables/useAuthenticatedFetch';
8
+ export * from './composables/useDarkMode';
9
+ export * from './composables/useTheme';
10
+ export * from './composables/useFloatingPosition';
11
+ export * from './composables/useModalStack';
12
+ export * from './utils/requestCache';
13
+ export * from './utils/debounce';
14
+ export * from './utils/fontPreloader';
15
+ export * from './utils/lazyComponents';
16
+ export * from './utils/performanceInit';
@@ -0,0 +1,19 @@
1
+ import { App } from 'vue';
2
+ import { default as StrandsUiAlert } from '../ui/UiAlert.vue';
3
+ import { default as StrandsUiButton } from '../ui/UiButton.vue';
4
+ import { default as StrandsUiCard } from '../ui/UiCard.vue';
5
+ import { default as StrandsUiInput } from '../ui/UiInput.vue';
6
+ import { default as StrandsUiLink } from '../ui/UiLink.vue';
7
+ import { default as StrandsUiTabs } from '../ui/UiTabs.vue';
8
+ import { default as StrandsUiLoader } from '../ui/UiLoader.vue';
9
+ declare function injectSquircleStyles(): void;
10
+ export interface StrandsUIOptions {
11
+ prefix?: string;
12
+ }
13
+ declare const _default: {
14
+ install(app: App, options?: StrandsUIOptions): void;
15
+ };
16
+ export default _default;
17
+ export { StrandsUiAlert, StrandsUiButton, StrandsUiCard, StrandsUiInput, StrandsUiLink, StrandsUiTabs, StrandsUiLoader, };
18
+ export { injectSquircleStyles };
19
+ export type { ButtonVariant, ButtonSize, InputType, CardVariant, LinkVariant, AlertVariant, } from '../ui/index';
@@ -0,0 +1,30 @@
1
+ interface Props {
2
+ variant?: 'success' | 'error' | 'warning' | 'info';
3
+ title?: string;
4
+ message?: string;
5
+ dismissible?: boolean;
6
+ }
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ };
12
+ refs: {};
13
+ rootEl: HTMLDivElement;
14
+ };
15
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
+ dismiss: () => any;
18
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
19
+ onDismiss?: () => any;
20
+ }>, {
21
+ variant: "success" | "error" | "warning" | "info";
22
+ dismissible: boolean;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
24
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,26 @@
1
+ interface Props {
2
+ theme?: 'light' | 'dark' | 'auto';
3
+ loading?: boolean;
4
+ loadingMessage?: string;
5
+ }
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: HTMLDivElement;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
16
+ theme: "light" | "dark" | "auto";
17
+ loading: boolean;
18
+ loadingMessage: string;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
20
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
+ export default _default;
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,24 @@
1
+ interface Props {
2
+ size?: number;
3
+ previewSize?: number;
4
+ maxFileSize?: number;
5
+ uploading?: boolean;
6
+ preselectedFile?: File | null;
7
+ }
8
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
9
+ error: (error: string) => any;
10
+ upload: (file: File) => any;
11
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
12
+ onError?: (error: string) => any;
13
+ onUpload?: (file: File) => any;
14
+ }>, {
15
+ size: number;
16
+ maxFileSize: number;
17
+ previewSize: number;
18
+ uploading: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
20
+ fileInput: HTMLInputElement;
21
+ canvas: HTMLCanvasElement;
22
+ previewCanvas: HTMLCanvasElement;
23
+ }, HTMLDivElement>;
24
+ export default _default;
@@ -0,0 +1,42 @@
1
+ interface Props {
2
+ to?: string | object;
3
+ href?: string;
4
+ external?: boolean;
5
+ disabled?: boolean;
6
+ loading?: boolean;
7
+ loadingText?: string;
8
+ icon?: boolean;
9
+ buttonClasses?: string[];
10
+ buttonStyles?: Record<string, any>;
11
+ textAlign?: 'start' | 'center' | 'end';
12
+ }
13
+ declare function __VLS_template(): {
14
+ attrs: Partial<{}>;
15
+ slots: {
16
+ 'leading-icon'?(_: {}): any;
17
+ icon?(_: {}): any;
18
+ default?(_: {}): any;
19
+ 'trailing-icon'?(_: {}): any;
20
+ };
21
+ refs: {};
22
+ rootEl: HTMLAnchorElement;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ click: (event: MouseEvent) => any;
27
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
28
+ onClick?: (event: MouseEvent) => any;
29
+ }>, {
30
+ loading: boolean;
31
+ disabled: boolean;
32
+ icon: boolean;
33
+ textAlign: "start" | "center" | "end";
34
+ external: boolean;
35
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLAnchorElement>;
36
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
37
+ export default _default;
38
+ type __VLS_WithTemplateSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,32 @@
1
+ interface Props {
2
+ loading?: boolean;
3
+ loadingText?: string;
4
+ icon?: boolean;
5
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ textAlign?: 'start' | 'center' | 'end';
7
+ }
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ icon?(_: {}): any;
12
+ icon?(_: {}): any;
13
+ 'leading-icon'?(_: {}): any;
14
+ default?(_: {}): any;
15
+ 'trailing-icon'?(_: {}): any;
16
+ };
17
+ refs: {};
18
+ rootEl: any;
19
+ };
20
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
22
+ loading: boolean;
23
+ icon: boolean;
24
+ textAlign: "start" | "center" | "end";
25
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
26
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,39 @@
1
+ interface Props {
2
+ to: string | object;
3
+ disabled?: boolean;
4
+ loading?: boolean;
5
+ loadingText?: string;
6
+ icon?: boolean;
7
+ buttonClasses?: string[];
8
+ buttonStyles?: Record<string, any>;
9
+ textAlign?: 'start' | 'center' | 'end';
10
+ }
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ 'leading-icon'?(_: {}): any;
15
+ icon?(_: {}): any;
16
+ default?(_: {}): any;
17
+ 'trailing-icon'?(_: {}): any;
18
+ };
19
+ refs: {};
20
+ rootEl: any;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
+ click: (event: MouseEvent) => any;
25
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
+ onClick?: (event: MouseEvent) => any;
27
+ }>, {
28
+ loading: boolean;
29
+ disabled: boolean;
30
+ icon: boolean;
31
+ textAlign: "start" | "center" | "end";
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
33
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,11 @@
1
+ import { default as UiButton } from '../UiButton.vue';
2
+ import { default as UiButtonContent } from './UiButton.Content.vue';
3
+ import { default as UiButtonAnchor } from './UiButton.Anchor.vue';
4
+ import { default as UiButtonNuxt } from './UiButton.Nuxt.vue';
5
+ declare const CompoundUiButton: typeof UiButton & {
6
+ Content: typeof UiButtonContent;
7
+ Anchor: typeof UiButtonAnchor;
8
+ Nuxt: typeof UiButtonNuxt;
9
+ };
10
+ export default CompoundUiButton;
11
+ export { UiButtonContent, UiButtonAnchor, UiButtonNuxt };
@@ -0,0 +1,77 @@
1
+ import { UiTooltipProps } from './UiTooltip.vue';
2
+ export interface UiButtonProps {
3
+ variant?: 'primary' | 'secondary' | 'ghost' | 'outline' | 'default';
4
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ type?: 'button' | 'submit' | 'reset';
6
+ disabled?: boolean;
7
+ loading?: boolean;
8
+ loadingText?: string;
9
+ fullWidth?: boolean;
10
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
11
+ fontWeight?: 400 | 500 | 600 | 700;
12
+ icon?: boolean;
13
+ squircle?: boolean;
14
+ to?: string | object;
15
+ href?: string;
16
+ external?: boolean;
17
+ tabindex?: number;
18
+ title?: string | UiTooltipProps;
19
+ textAlign?: 'start' | 'center' | 'end';
20
+ }
21
+ declare function __VLS_template(): {
22
+ attrs: Partial<{}>;
23
+ slots: {
24
+ 'leading-icon'?(_: {}): any;
25
+ 'leading-icon'?(_: {}): any;
26
+ 'leading-icon'?(_: {}): any;
27
+ 'leading-icon'?(_: {}): any;
28
+ 'leading-icon'?(_: {}): any;
29
+ 'leading-icon'?(_: {}): any;
30
+ icon?(_: {}): any;
31
+ icon?(_: {}): any;
32
+ icon?(_: {}): any;
33
+ icon?(_: {}): any;
34
+ icon?(_: {}): any;
35
+ icon?(_: {}): any;
36
+ default?(_: {}): any;
37
+ default?(_: {}): any;
38
+ default?(_: {}): any;
39
+ default?(_: {}): any;
40
+ default?(_: {}): any;
41
+ default?(_: {}): any;
42
+ 'trailing-icon'?(_: {}): any;
43
+ 'trailing-icon'?(_: {}): any;
44
+ 'trailing-icon'?(_: {}): any;
45
+ 'trailing-icon'?(_: {}): any;
46
+ 'trailing-icon'?(_: {}): any;
47
+ 'trailing-icon'?(_: {}): any;
48
+ };
49
+ refs: {};
50
+ rootEl: any;
51
+ };
52
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
53
+ declare const __VLS_component: import('vue').DefineComponent<UiButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
54
+ click: (event: MouseEvent) => any;
55
+ }, string, import('vue').PublicProps, Readonly<UiButtonProps> & Readonly<{
56
+ onClick?: (event: MouseEvent) => any;
57
+ }>, {
58
+ loading: boolean;
59
+ type: "button" | "submit" | "reset";
60
+ disabled: boolean;
61
+ variant: "primary" | "secondary" | "ghost" | "outline" | "default";
62
+ size: "xs" | "sm" | "md" | "lg" | "xl";
63
+ color: "primary" | "secondary" | "success" | "warning" | "danger" | "info";
64
+ fullWidth: boolean;
65
+ icon: boolean;
66
+ textAlign: "start" | "center" | "end";
67
+ external: boolean;
68
+ fontWeight: 400 | 500 | 600 | 700;
69
+ squircle: boolean;
70
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
71
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
72
+ export default _default;
73
+ type __VLS_WithTemplateSlots<T, S> = T & {
74
+ new (): {
75
+ $slots: S;
76
+ };
77
+ };
@@ -0,0 +1,38 @@
1
+ interface Props {
2
+ variant?: 'default' | 'modern' | 'minimal' | 'clean' | 'simple';
3
+ padding?: 'sm' | 'md' | 'lg';
4
+ shadow?: 'none' | 'sm' | 'md' | 'lg';
5
+ color?: 'default' | 'secondary' | 'tertiary';
6
+ title?: string;
7
+ subtitle?: string;
8
+ to?: string | object;
9
+ }
10
+ declare function __VLS_template(): {
11
+ attrs: Partial<{}>;
12
+ slots: {
13
+ header?(_: {}): any;
14
+ 'leading-icon'?(_: {}): any;
15
+ title?(_: {}): any;
16
+ subtitle?(_: {}): any;
17
+ 'trailing-icon'?(_: {}): any;
18
+ actions?(_: {}): any;
19
+ default?(_: {}): any;
20
+ footer?(_: {}): any;
21
+ };
22
+ refs: {};
23
+ rootEl: any;
24
+ };
25
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
26
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
27
+ variant: "default" | "modern" | "minimal" | "clean" | "simple";
28
+ color: "default" | "secondary" | "tertiary";
29
+ padding: "sm" | "md" | "lg";
30
+ shadow: "none" | "sm" | "md" | "lg";
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,46 @@
1
+ interface CheckboxOption {
2
+ value: string | number;
3
+ label: string;
4
+ description?: string;
5
+ disabled?: boolean;
6
+ indeterminate?: boolean;
7
+ icon?: any;
8
+ }
9
+ interface Props {
10
+ modelValue?: (string | number)[];
11
+ options: CheckboxOption[];
12
+ label?: string;
13
+ description?: string;
14
+ helpText?: string;
15
+ error?: string | boolean;
16
+ disabled?: boolean;
17
+ required?: boolean;
18
+ orientation?: 'horizontal' | 'vertical';
19
+ variant?: 'default' | 'card';
20
+ size?: 'sm' | 'md' | 'lg';
21
+ showSelectAll?: boolean;
22
+ selectAllLabel?: string;
23
+ fieldId?: string;
24
+ }
25
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
26
+ blur: (event: FocusEvent) => any;
27
+ change: (value: (string | number)[]) => any;
28
+ focus: (event: FocusEvent) => any;
29
+ "update:modelValue": (value: (string | number)[]) => any;
30
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
31
+ onBlur?: (event: FocusEvent) => any;
32
+ onChange?: (value: (string | number)[]) => any;
33
+ onFocus?: (event: FocusEvent) => any;
34
+ "onUpdate:modelValue"?: (value: (string | number)[]) => any;
35
+ }>, {
36
+ required: boolean;
37
+ disabled: boolean;
38
+ variant: "default" | "card";
39
+ size: "sm" | "md" | "lg";
40
+ modelValue: (string | number)[];
41
+ orientation: "horizontal" | "vertical";
42
+ fieldId: string;
43
+ showSelectAll: boolean;
44
+ selectAllLabel: string;
45
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
46
+ export default _default;