@innertia-solutions/innertia-nuxt 0.1.1

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 (108) hide show
  1. package/.github/workflows/auto-publish.yml +64 -0
  2. package/.github/workflows/release.yml +59 -0
  3. package/README.md +60 -0
  4. package/app.config.ts +70 -0
  5. package/components/Admin/Base.vue +144 -0
  6. package/components/Admin/Header.vue +32 -0
  7. package/components/Admin/Page.vue +65 -0
  8. package/components/Admin/PageHeader.vue +31 -0
  9. package/components/App/Button.vue +59 -0
  10. package/components/App/DevEnvironmentBar.vue +43 -0
  11. package/components/App/Dropdown.vue +286 -0
  12. package/components/App/EmptyState.vue +433 -0
  13. package/components/App/LoadingState.vue +40 -0
  14. package/components/App/PageLoadingSpinner.vue +118 -0
  15. package/components/App/PreviewDock.vue +64 -0
  16. package/components/App/SwitchColorTheme.vue +51 -0
  17. package/components/App/Tag.vue +193 -0
  18. package/components/DataTable.vue +713 -0
  19. package/components/Forms/DatePicker.vue +255 -0
  20. package/components/Forms/Input.vue +75 -0
  21. package/components/Forms/Select.vue +100 -0
  22. package/components/Forms/SelectServer.vue +726 -0
  23. package/components/Layout/Admin.vue +32 -0
  24. package/components/Layout/Auth.vue +29 -0
  25. package/components/Layout/SidebarWithAppColumn.vue +388 -0
  26. package/components/Layout/TopBar.vue +113 -0
  27. package/components/MobileBlocker.vue +85 -0
  28. package/components/MobileLoginPicker.vue +83 -0
  29. package/components/Modal/Base.vue +29 -0
  30. package/components/Modal/DeleteConfirm.vue +48 -0
  31. package/components/Modal.vue +103 -0
  32. package/components/Nav/Tabs.vue +55 -0
  33. package/components/PermissionsTree.vue +272 -0
  34. package/components/Table/Database.vue +183 -0
  35. package/components/Table/DownloadDropdown.vue +111 -0
  36. package/components/Table/Enterprise.vue +540 -0
  37. package/components/Table/FilterDropdown.vue +226 -0
  38. package/components/Table/Grid.vue +62 -0
  39. package/components/Table/Kanban.vue +188 -0
  40. package/components/Table/List.vue +128 -0
  41. package/components/Table/PreviewTimeline.vue +118 -0
  42. package/components/Table/Standard.vue +1217 -0
  43. package/components/Table/index.vue +974 -0
  44. package/components/TableExportable.vue +172 -0
  45. package/components/TableFilter.vue +93 -0
  46. package/components/Toast/Alert.vue +113 -0
  47. package/components/Toast/Container.vue +34 -0
  48. package/components/Toast/Notification.vue +45 -0
  49. package/components/Toast/Process.vue +88 -0
  50. package/composables/useApi.js +95 -0
  51. package/composables/useApp.ts +46 -0
  52. package/composables/useAuth.js +82 -0
  53. package/composables/useContext.js +44 -0
  54. package/composables/useDate.js +241 -0
  55. package/composables/useDevice.js +21 -0
  56. package/composables/useDockedPreviews.js +56 -0
  57. package/composables/useDownload.js +87 -0
  58. package/composables/useEntity.js +82 -0
  59. package/composables/useForm.js +119 -0
  60. package/composables/useInnertiaMode.ts +25 -0
  61. package/composables/useMobileGuard.ts +81 -0
  62. package/composables/useNotifications.js +22 -0
  63. package/composables/usePermissions.js +23 -0
  64. package/composables/useRealtime.js +123 -0
  65. package/composables/useRequestInterceptors.js +27 -0
  66. package/composables/useRoles.js +53 -0
  67. package/composables/useRutFormatter.js +39 -0
  68. package/composables/useTable.ts +94 -0
  69. package/composables/useTablePreferences.ts +33 -0
  70. package/composables/useTenant.js +27 -0
  71. package/composables/useTimeAgo.js +37 -0
  72. package/composables/useToast.js +69 -0
  73. package/composables/useUserRealtime.js +17 -0
  74. package/composables/useUsers.js +111 -0
  75. package/css/themes/autumn.css +401 -0
  76. package/css/themes/bubblegum.css +408 -0
  77. package/css/themes/cashmere.css +412 -0
  78. package/css/themes/harvest.css +416 -0
  79. package/css/themes/moon.css +140 -0
  80. package/css/themes/ocean.css +273 -0
  81. package/css/themes/olive.css +413 -0
  82. package/css/themes/retro.css +431 -0
  83. package/css/themes/theme.css +725 -0
  84. package/error.vue +78 -0
  85. package/middleware/01.detect-subdomain.global.ts +43 -0
  86. package/middleware/02.validate-tenant.global.ts +67 -0
  87. package/middleware/03.apps.global.ts +88 -0
  88. package/middleware/auth.ts +9 -0
  89. package/middleware/guest.ts +9 -0
  90. package/nuxt.config.ts +42 -0
  91. package/package.json +60 -0
  92. package/pages/tenant-error.vue +50 -0
  93. package/plugins/api-auth.ts +12 -0
  94. package/plugins/api-tenant.client.ts +21 -0
  95. package/plugins/appearance.ts +8 -0
  96. package/plugins/auth-init.ts +34 -0
  97. package/plugins/dark-state.client.ts +29 -0
  98. package/plugins/dockedPreviewsSync.client.js +17 -0
  99. package/plugins/preline.client.ts +68 -0
  100. package/plugins/theme.client.ts +7 -0
  101. package/plugins/vue-query.ts +29 -0
  102. package/public/init-theme.js +15 -0
  103. package/spark.css +721 -0
  104. package/stores/auth.js +130 -0
  105. package/stores/dockedPreviews.js +34 -0
  106. package/stores/notifications.js +24 -0
  107. package/stores/tenant.js +54 -0
  108. package/stores/toast.js +129 -0
@@ -0,0 +1,37 @@
1
+ import { ref, isRef, onMounted, onBeforeUnmount } from 'vue'
2
+ import dayjs from 'dayjs'
3
+ import utc from 'dayjs/plugin/utc'
4
+ import relativeTime from 'dayjs/plugin/relativeTime'
5
+ import 'dayjs/locale/es'
6
+
7
+ dayjs.extend(utc)
8
+ dayjs.extend(relativeTime)
9
+ dayjs.locale('es')
10
+
11
+ /**
12
+ * Returns a reactive `timeAgo()` that updates every 60s.
13
+ * @param {string | Ref<string>} utcDatetime - UTC datetime string or a ref to one
14
+ */
15
+ export const useTimeAgo = (utcDatetime) => {
16
+ const now = ref(new Date())
17
+ let interval
18
+
19
+ onMounted(() => {
20
+ interval = setInterval(() => {
21
+ now.value = new Date()
22
+ }, 60000)
23
+ })
24
+
25
+ onBeforeUnmount(() => {
26
+ clearInterval(interval)
27
+ })
28
+
29
+ const timeAgo = () => {
30
+ const value = isRef(utcDatetime) ? utcDatetime.value : utcDatetime
31
+ if (!value) return ''
32
+ // Force UTC parse then compare to local now
33
+ return dayjs.utc(value).local().from(now.value)
34
+ }
35
+
36
+ return { timeAgo }
37
+ }
@@ -0,0 +1,69 @@
1
+ // app/composables/useToast.js
2
+ import { useToastStore } from '../stores/toast'
3
+
4
+ export function useToast() {
5
+ const toast = useToastStore()
6
+
7
+ return {
8
+ // Métodos originales
9
+ success: toast.success,
10
+ info: toast.info,
11
+ error: toast.error,
12
+ show: toast.show,
13
+ remove: toast.remove,
14
+ update: toast.update,
15
+ updateProgress: toast.updateProgress,
16
+ completeProcess: toast.completeProcess,
17
+
18
+ // Métodos rápidos para diferentes tipos de toast
19
+ alert: {
20
+ success: (message, config = {}) => toast.success({
21
+ type: 'alert',
22
+ message,
23
+ duration: 3000,
24
+ ...config
25
+ }),
26
+
27
+ error: (message, config = {}) => toast.error({
28
+ type: 'alert',
29
+ message,
30
+ duration: 5000,
31
+ ...config
32
+ }),
33
+
34
+ warning: (message, config = {}) => toast.show({
35
+ type: 'alert',
36
+ severity: 'warning',
37
+ icon: 'ti ti-alert-triangle',
38
+ title: 'Warning',
39
+ message,
40
+ duration: 4000,
41
+ ...config
42
+ }),
43
+
44
+ info: (message, config = {}) => toast.info({
45
+ type: 'alert',
46
+ message,
47
+ duration: 3000,
48
+ ...config
49
+ })
50
+ },
51
+
52
+ notification: (title, message, config = {}) => toast.show({
53
+ type: 'notification',
54
+ title,
55
+ message,
56
+ duration: 0, // Las notificaciones no se auto-dismiss por defecto
57
+ ...config
58
+ }),
59
+
60
+ process: (title, config = {}) => toast.show({
61
+ type: 'process',
62
+ title,
63
+ progress: 0,
64
+ progressLabel: 'Iniciando...',
65
+ duration: 0, // Los procesos no se auto-dismiss
66
+ ...config
67
+ })
68
+ }
69
+ }
@@ -0,0 +1,17 @@
1
+ export function useUserRealtime() {
2
+ const authStore = useAuthStore()
3
+ const notificationsStore = useNotificationsStore()
4
+
5
+ function start() {
6
+ const userId = authStore.user?.id
7
+ if (!userId) return
8
+ const { subscribe } = useRealtime()
9
+ subscribe(`private-user.${userId}`, {
10
+ 'NotificationSent': (payload) => {
11
+ notificationsStore.addNotification(payload)
12
+ }
13
+ })
14
+ }
15
+
16
+ return { start }
17
+ }
@@ -0,0 +1,111 @@
1
+ export function useUsers() {
2
+ const api = useApi()
3
+ const queryClient = useQueryClient()
4
+
5
+ // ─── Queries ──────────────────────────────────────────────────────────────
6
+
7
+ const list = (params = {}) => useQuery({
8
+ queryKey: computed(() => ['users', toValue(params)]),
9
+ queryFn: () => api.post('backoffice/users', toValue(params)),
10
+ })
11
+
12
+ const detail = (id) => useQuery({
13
+ queryKey: computed(() => ['users', toValue(id)]),
14
+ queryFn: () => api.get(`backoffice/users/${toValue(id)}`),
15
+ enabled: computed(() => !!toValue(id)),
16
+ })
17
+
18
+ const roles = (userId) => useQuery({
19
+ queryKey: computed(() => ['users', toValue(userId), 'roles']),
20
+ queryFn: () => api.get(`backoffice/users/${toValue(userId)}/roles`),
21
+ enabled: computed(() => !!toValue(userId)),
22
+ })
23
+
24
+ const apps = (userId) => useQuery({
25
+ queryKey: computed(() => ['users', toValue(userId), 'apps']),
26
+ queryFn: () => api.get(`backoffice/users/${toValue(userId)}/apps`),
27
+ enabled: computed(() => !!toValue(userId)),
28
+ })
29
+
30
+ const sessions = (userId) => useQuery({
31
+ queryKey: computed(() => ['users', toValue(userId), 'sessions']),
32
+ queryFn: () => api.get(`backoffice/users/${toValue(userId)}/sessions`),
33
+ enabled: computed(() => !!toValue(userId)),
34
+ })
35
+
36
+ const activityLog = (userId, params = {}) => useQuery({
37
+ queryKey: computed(() => ['users', toValue(userId), 'activity', toValue(params)]),
38
+ queryFn: () => api.get(`backoffice/users/${toValue(userId)}/activity`, toValue(params)),
39
+ enabled: computed(() => !!toValue(userId)),
40
+ })
41
+
42
+ // ─── Mutations ────────────────────────────────────────────────────────────
43
+
44
+ const invalidateUsers = () => queryClient.invalidateQueries({ queryKey: ['users'] })
45
+
46
+ const create = () => useMutation({
47
+ mutationFn: (data) => api.post('backoffice/users', data),
48
+ onSuccess: invalidateUsers,
49
+ })
50
+
51
+ const update = () => useMutation({
52
+ mutationFn: ({ id, ...data }) => api.put(`backoffice/users/${id}`, data),
53
+ onSuccess: (_, { id }) => {
54
+ queryClient.invalidateQueries({ queryKey: ['users', id] })
55
+ invalidateUsers()
56
+ },
57
+ })
58
+
59
+ const remove = () => useMutation({
60
+ mutationFn: (id) => api.delete(`backoffice/users/${id}`),
61
+ onSuccess: invalidateUsers,
62
+ })
63
+
64
+ const reactivate = () => useMutation({
65
+ mutationFn: (id) => api.post(`backoffice/users/${id}/reactivate`),
66
+ onSuccess: invalidateUsers,
67
+ })
68
+
69
+ const resetPassword = () => useMutation({
70
+ mutationFn: ({ id, ...data }) => api.post(`backoffice/users/${id}/reset-password`, data),
71
+ })
72
+
73
+ const assignRole = () => useMutation({
74
+ mutationFn: ({ userId, role }) => api.post(`backoffice/users/${userId}/roles`, { role }),
75
+ onSuccess: (_, { userId }) =>
76
+ queryClient.invalidateQueries({ queryKey: ['users', userId, 'roles'] }),
77
+ })
78
+
79
+ const removeRole = () => useMutation({
80
+ mutationFn: ({ userId, role }) => api.delete(`backoffice/users/${userId}/roles/${role}`),
81
+ onSuccess: (_, { userId }) =>
82
+ queryClient.invalidateQueries({ queryKey: ['users', userId, 'roles'] }),
83
+ })
84
+
85
+ const syncApps = () => useMutation({
86
+ mutationFn: ({ userId, apps }) => api.post(`backoffice/users/${userId}/apps/sync`, { apps }),
87
+ onSuccess: (_, { userId }) =>
88
+ queryClient.invalidateQueries({ queryKey: ['users', userId, 'apps'] }),
89
+ })
90
+
91
+ const revokeSession = () => useMutation({
92
+ mutationFn: ({ userId, sessionId }) =>
93
+ api.delete(`backoffice/users/${userId}/sessions/${sessionId}`),
94
+ onSuccess: (_, { userId }) =>
95
+ queryClient.invalidateQueries({ queryKey: ['users', userId, 'sessions'] }),
96
+ })
97
+
98
+ const revokeAllSessions = () => useMutation({
99
+ mutationFn: (userId) => api.delete(`backoffice/users/${userId}/sessions`),
100
+ onSuccess: (_, userId) =>
101
+ queryClient.invalidateQueries({ queryKey: ['users', userId, 'sessions'] }),
102
+ })
103
+
104
+ return {
105
+ // queries
106
+ list, detail, roles, apps, sessions, activityLog,
107
+ // mutations
108
+ create, update, remove, reactivate, resetPassword,
109
+ assignRole, removeRole, syncApps, revokeSession, revokeAllSessions,
110
+ }
111
+ }
@@ -0,0 +1,401 @@
1
+ /* ------------------------------ */
2
+ /* ---------- Autumn ------------ */
3
+ /* ------------------------------ */
4
+
5
+ @theme theme-autumn inline {
6
+
7
+ }
8
+
9
+ :root[data-theme="theme-autumn"],
10
+ [data-theme="theme-autumn"] {
11
+ --background-1: var(--color-stone-50);
12
+ --background-2: var(--color-stone-100);
13
+ --foreground: var(--color-stone-800);
14
+
15
+ --inverse: var(--color-stone-800);
16
+
17
+ --border: var(--color-stone-200);
18
+ --border-line-1: var(--color-stone-100);
19
+ --border-line-2: var(--color-stone-200);
20
+ --border-line-3: var(--color-stone-300);
21
+ --border-line-4: var(--color-stone-400);
22
+ --border-line-5: var(--color-stone-500);
23
+ --border-line-6: var(--color-stone-600);
24
+ --border-line-7: var(--color-stone-700);
25
+ --border-line-8: var(--color-stone-800);
26
+
27
+ --primary-50: var(--color-amber-50);
28
+ --primary-100: var(--color-amber-100);
29
+ --primary-200: var(--color-amber-200);
30
+ --primary-300: var(--color-amber-300);
31
+ --primary-400: var(--color-amber-400);
32
+ --primary-500: var(--color-amber-500);
33
+ --primary-600: var(--color-amber-600);
34
+ --primary-700: var(--color-amber-700);
35
+ --primary-800: var(--color-amber-800);
36
+ --primary-900: var(--color-amber-900);
37
+ --primary-950: var(--color-amber-950);
38
+
39
+ --primary: var(--color-primary-500);
40
+ --primary-hover: var(--color-primary-600);
41
+ --primary-focus: var(--color-primary-600);
42
+ --primary-active: var(--color-primary-600);
43
+ --primary-checked: var(--color-primary-500);
44
+
45
+ --secondary: var(--color-stone-900);
46
+ --secondary-hover: var(--color-stone-800);
47
+ --secondary-focus: var(--color-stone-800);
48
+ --secondary-active: var(--color-stone-800);
49
+
50
+ --layer-line: var(--color-stone-200);
51
+ --layer-foreground: var(--color-stone-800);
52
+ --layer-hover: var(--color-stone-50);
53
+ --layer-focus: var(--color-stone-50);
54
+ --layer-active: var(--color-stone-50);
55
+
56
+ --surface: var(--color-stone-100);
57
+ --surface-1: var(--color-stone-200);
58
+ --surface-2: var(--color-stone-300);
59
+ --surface-3: var(--color-stone-400);
60
+ --surface-4: var(--color-stone-500);
61
+ --surface-5: var(--color-stone-600);
62
+ --surface-foreground: var(--color-stone-800);
63
+ --surface-hover: var(--color-stone-200);
64
+ --surface-focus: var(--color-stone-200);
65
+ --surface-active: var(--color-stone-200);
66
+
67
+ --muted: var(--color-stone-50);
68
+ --muted-foreground: var(--color-stone-400);
69
+ --muted-foreground-1: var(--color-stone-500);
70
+ --muted-foreground-2: var(--color-stone-600);
71
+ --muted-hover: var(--color-stone-100);
72
+ --muted-focus: var(--color-stone-100);
73
+ --muted-active: var(--color-stone-100);
74
+
75
+ --navbar-line: var(--color-stone-200);
76
+ --navbar-divider: var(--color-stone-200);
77
+ --navbar-nav-foreground: var(--color-stone-800);
78
+ --navbar-nav-hover: var(--color-stone-100);
79
+ --navbar-nav-focus: var(--color-stone-100);
80
+ --navbar-nav-active: var(--color-stone-100);
81
+ --navbar-nav-list-divider: var(--color-stone-200);
82
+ --navbar-inverse: var(--color-primary-950);
83
+
84
+ --navbar-1: var(--color-stone-50);
85
+ --navbar-1-line: var(--color-stone-200);
86
+ --navbar-1-divider: var(--color-stone-200);
87
+ --navbar-1-nav-foreground: var(--color-stone-800);
88
+ --navbar-1-nav-hover: var(--color-stone-200);
89
+ --navbar-1-nav-focus: var(--color-stone-200);
90
+ --navbar-1-nav-active: var(--color-stone-200);
91
+ --navbar-1-nav-list-divider: var(--color-stone-200);
92
+
93
+ --navbar-2: var(--color-stone-100);
94
+ --navbar-2-divider: var(--color-stone-300);
95
+ --navbar-2-nav-foreground: var(--color-stone-800);
96
+ --navbar-2-nav-hover: var(--color-stone-200);
97
+ --navbar-2-nav-focus: var(--color-stone-200);
98
+ --navbar-2-nav-active: var(--color-stone-200);
99
+ --navbar-2-nav-list-divider: var(--color-stone-200);
100
+
101
+ --sidebar-line: var(--color-stone-200);
102
+ --sidebar-divider: var(--color-stone-200);
103
+ --sidebar-nav-foreground: var(--color-stone-800);
104
+ --sidebar-nav-hover: var(--color-stone-100);
105
+ --sidebar-nav-focus: var(--color-stone-100);
106
+ --sidebar-nav-active: var(--color-stone-100);
107
+ --sidebar-nav-list-divider: var(--color-stone-200);
108
+ --sidebar-inverse: var(--color-primary-950);
109
+
110
+ --sidebar-1: var(--color-stone-50);
111
+ --sidebar-1-line: var(--color-stone-200);
112
+ --sidebar-1-divider: var(--color-stone-200);
113
+ --sidebar-1-nav-foreground: var(--color-stone-800);
114
+ --sidebar-1-nav-hover: var(--color-stone-200);
115
+ --sidebar-1-nav-focus: var(--color-stone-200);
116
+ --sidebar-1-nav-active: var(--color-stone-200);
117
+ --sidebar-1-nav-list-divider: var(--color-stone-200);
118
+
119
+ --sidebar-2: var(--color-stone-100);
120
+ --sidebar-2-divider: var(--color-stone-200);
121
+ --sidebar-2-nav-foreground: var(--color-stone-800);
122
+ --sidebar-2-nav-hover: var(--color-stone-200);
123
+ --sidebar-2-nav-focus: var(--color-stone-200);
124
+ --sidebar-2-nav-active: var(--color-stone-200);
125
+ --sidebar-2-nav-list-divider: var(--color-stone-200);
126
+
127
+ --card-line: var(--color-stone-200);
128
+ --card-divider: var(--color-stone-200);
129
+ --card-header: var(--color-stone-200);
130
+ --card-footer: var(--color-stone-200);
131
+ --card-inverse: var(--color-primary-950);
132
+
133
+ --dropdown-divider: var(--color-stone-200);
134
+ --dropdown-header: var(--color-stone-200);
135
+ --dropdown-footer: var(--color-stone-200);
136
+ --dropdown-item-foreground: var(--color-stone-800);
137
+ --dropdown-item-hover: var(--color-stone-100);
138
+ --dropdown-item-focus: var(--color-stone-100);
139
+ --dropdown-item-active: var(--color-stone-100);
140
+ --dropdown-inverse: var(--color-primary-950);
141
+
142
+ --select-item-foreground: var(--color-stone-800);
143
+ --select-item-hover: var(--color-stone-100);
144
+ --select-item-focus: var(--color-stone-100);
145
+ --select-item-active: var(--color-stone-100);
146
+ --select-inverse: var(--color-primary-950);
147
+
148
+ --overlay-divider: var(--color-stone-200);
149
+ --overlay-header: var(--color-stone-200);
150
+ --overlay-footer: var(--color-stone-200);
151
+ --overlay-inverse: var(--color-primary-950);
152
+
153
+ --popover-line: var(--color-stone-100);
154
+
155
+ --tooltip: var(--color-stone-900);
156
+
157
+ --table-line: var(--color-stone-200);
158
+
159
+ --footer-line: var(--color-stone-200);
160
+ --footer-inverse: var(--color-primary-950);
161
+
162
+ --scrollbar-track: var(--color-stone-100);
163
+ --scrollbar-thumb: var(--color-stone-300);
164
+
165
+ --chart-colors-background-inverse: var(--color-stone-800);
166
+ --chart-colors-foreground: var(--color-stone-800);
167
+ --chart-primary: var(--color-primary-500);
168
+ --chart-colors-primary: var(--color-primary-500);
169
+ --chart-colors-primary-inverse: var(--color-primary-200);
170
+ --chart-colors-primary-hex: var(--color-primary-500);
171
+ --chart-colors-primary-hex-inverse: var(--color-primary-200);
172
+ --chart-1: var(--color-primary-50);
173
+ --chart-colors-chart-1: var(--color-primary-50);
174
+ --chart-colors-chart-1-inverse: var(--color-primary-50);
175
+ --chart-colors-chart-1-hex: var(--color-primary-50);
176
+ --chart-colors-chart-1-hex-inverse: var(--color-primary-50);
177
+ --chart-2: var(--color-primary-200);
178
+ --chart-colors-chart-2: var(--color-primary-200);
179
+ --chart-colors-chart-2-inverse: var(--color-primary-200);
180
+ --chart-colors-chart-2-hex: var(--color-primary-200);
181
+ --chart-colors-chart-2-hex-inverse: var(--color-primary-200);
182
+ --chart-3: var(--color-primary-600);
183
+ --chart-colors-chart-3: var(--color-primary-600);
184
+ --chart-colors-chart-3-inverse: var(--color-primary-400);
185
+ --chart-colors-chart-3-hex: var(--color-primary-600);
186
+ --chart-colors-chart-3-hex-inverse: var(--color-primary-400);
187
+ --chart-4: var(--color-primary-800);
188
+ --chart-colors-chart-4: var(--color-primary-800);
189
+ --chart-colors-chart-4-inverse: var(--color-primary-800);
190
+ --chart-colors-chart-4-hex: var(--color-primary-800);
191
+ --chart-colors-chart-4-hex-inverse: var(--color-primary-800);
192
+ --chart-5: var(--color-lime-500);
193
+ --chart-colors-chart-5: var(--color-lime-500);
194
+ --chart-colors-chart-5-inverse: var(--color-lime-500);
195
+ --chart-colors-chart-5-hex: var(--color-lime-500);
196
+ --chart-colors-chart-5-hex-inverse: var(--color-lime-500);
197
+ --chart-6: var(--color-sky-400);
198
+ --chart-colors-chart-6: var(--color-sky-400);
199
+ --chart-colors-chart-6-inverse: var(--color-sky-400);
200
+ --chart-colors-chart-6-hex: var(--color-sky-400);
201
+ --chart-colors-chart-6-hex-inverse: var(--color-sky-400);
202
+ --chart-7: var(--color-orange-500);
203
+ --chart-colors-chart-7: var(--color-orange-500);
204
+ --chart-colors-chart-7-inverse: var(--color-orange-500);
205
+ --chart-colors-chart-7-hex: var(--color-orange-500);
206
+ --chart-colors-chart-7-hex-inverse: var(--color-orange-500);
207
+ --chart-8: var(--color-stone-100);
208
+ --chart-colors-chart-8: var(--color-stone-100);
209
+ --chart-colors-chart-8-hex: var(--color-stone-100);
210
+ --chart-9: var(--color-stone-200);
211
+ --chart-colors-chart-9: var(--color-stone-200);
212
+ --chart-colors-chart-9-hex: var(--color-stone-200);
213
+ --chart-10: var(--color-stone-300);
214
+ --chart-colors-chart-10: var(--color-stone-300);
215
+ --chart-colors-chart-10-hex: var(--color-stone-300);
216
+ --chart-colors-candlestick-upward: var(--color-primary-500);
217
+ --chart-colors-candlestick-upward-inverse: var(--color-primary-200);
218
+ --chart-colors-candlestick-downward: var(--color-primary-500);
219
+ --chart-colors-candlestick-downward-inverse: var(--color-primary-200);
220
+ --chart-colors-labels: var(--color-stone-400);
221
+ --chart-colors-xaxis-labels: var(--color-stone-400);
222
+ --chart-colors-yaxis-labels: var(--color-stone-400);
223
+ --chart-colors-grid-border: var(--color-stone-200);
224
+ --chart-colors-bar-ranges: var(--color-stone-200);
225
+
226
+ --map-colors-primary: var(--color-primary-600);
227
+ --map-colors-primary-inverse: var(--color-primary-200);
228
+ --map-colors-default: var(--color-stone-300);
229
+ --map-colors-highlight: var(--color-primary-300);
230
+ --map-colors-highlight-inverse: var(--color-primary-300);
231
+ --map-colors-border: var(--color-stone-100);
232
+ }
233
+
234
+ [data-theme="theme-autumn"].dark {
235
+ --background: var(--color-neutral-900);
236
+ --background-1: var(--color-neutral-950);
237
+ --background-2: var(--color-neutral-950);
238
+ --foreground: var(--color-neutral-200);
239
+
240
+ --inverse: var(--color-neutral-950);
241
+
242
+ --border: var(--color-neutral-700);
243
+ --border-line-1: var(--color-neutral-700);
244
+ --border-line-2: var(--color-neutral-700);
245
+ --border-line-3: var(--color-neutral-600);
246
+ --border-line-4: var(--color-neutral-500);
247
+ --border-line-5: var(--color-neutral-400);
248
+ --border-line-6: var(--color-neutral-300);
249
+ --border-line-7: var(--color-neutral-200);
250
+ --border-line-8: var(--color-neutral-100);
251
+
252
+ --primary: var(--color-primary-200);
253
+ --primary-foreground: var(--color-neutral-800);
254
+ --primary-hover: var(--color-primary-300);
255
+ --primary-focus: var(--color-primary-300);
256
+ --primary-active: var(--color-primary-300);
257
+ --primary-checked: var(--color-primary-200);
258
+
259
+ --secondary: var(--color-white);
260
+ --secondary-hover: var(--color-neutral-100);
261
+ --secondary-focus: var(--color-neutral-100);
262
+ --secondary-active: var(--color-neutral-100);
263
+
264
+ --layer: var(--color-neutral-800);
265
+ --layer-line: var(--color-neutral-700);
266
+ --layer-foreground: var(--color-white);
267
+ --layer-hover: var(--color-neutral-700);
268
+ --layer-focus: var(--color-neutral-700);
269
+ --layer-active: var(--color-neutral-700);
270
+
271
+ --surface: var(--color-neutral-700);
272
+ --surface-1: var(--color-neutral-600);
273
+ --surface-2: var(--color-neutral-500);
274
+ --surface-3: var(--color-neutral-600);
275
+ --surface-4: var(--color-neutral-500);
276
+ --surface-5: var(--color-neutral-400);
277
+ --surface-foreground: var(--color-neutral-200);
278
+ --surface-hover: var(--color-neutral-600);
279
+ --surface-focus: var(--color-neutral-600);
280
+ --surface-active: var(--color-neutral-600);
281
+
282
+ --muted: var(--color-neutral-800);
283
+ --muted-foreground: var(--color-neutral-500);
284
+ --muted-foreground-1: var(--color-neutral-400);
285
+ --muted-foreground-2: var(--color-neutral-300);
286
+ --muted-hover: var(--color-neutral-700);
287
+ --muted-focus: var(--color-neutral-700);
288
+ --muted-active: var(--color-neutral-700);
289
+
290
+ --navbar: var(--color-neutral-900);
291
+ --navbar-line: var(--color-neutral-700);
292
+ --navbar-divider: var(--color-neutral-700);
293
+ --navbar-nav-foreground: var(--color-neutral-200);
294
+ --navbar-nav-hover: var(--color-neutral-700);
295
+ --navbar-nav-focus: var(--color-neutral-700);
296
+ --navbar-nav-active: var(--color-neutral-700);
297
+ --navbar-nav-list-divider: var(--color-neutral-700);
298
+ --navbar-inverse: var(--color-black);
299
+
300
+ --navbar-1: var(--color-neutral-800);
301
+ --navbar-1-line: var(--color-neutral-700);
302
+ --navbar-1-divider: var(--color-neutral-700);
303
+ --navbar-1-nav-foreground: var(--color-neutral-200);
304
+ --navbar-1-nav-hover: var(--color-neutral-700);
305
+ --navbar-1-nav-focus: var(--color-neutral-700);
306
+ --navbar-1-nav-active: var(--color-neutral-700);
307
+ --navbar-1-nav-list-divider: var(--color-neutral-700);
308
+
309
+ --navbar-2: var(--color-neutral-900);
310
+ --navbar-2-divider: var(--color-neutral-700);
311
+ --navbar-2-nav-foreground: var(--color-neutral-200);
312
+ --navbar-2-nav-hover: var(--color-neutral-800);
313
+ --navbar-2-nav-focus: var(--color-neutral-800);
314
+ --navbar-2-nav-active: var(--color-neutral-800);
315
+ --navbar-2-nav-list-divider: var(--color-neutral-800);
316
+
317
+ --sidebar: var(--color-neutral-900);
318
+ --sidebar-line: var(--color-neutral-700);
319
+ --sidebar-divider: var(--color-neutral-700);
320
+ --sidebar-nav-foreground: var(--color-neutral-200);
321
+ --sidebar-nav-hover: var(--color-neutral-700);
322
+ --sidebar-nav-focus: var(--color-neutral-700);
323
+ --sidebar-nav-active: var(--color-neutral-700);
324
+ --sidebar-nav-list-divider: var(--color-neutral-700);
325
+ --sidebar-inverse: var(--color-black);
326
+
327
+ --sidebar-1: var(--color-neutral-800);
328
+ --sidebar-1-line: var(--color-neutral-700);
329
+ --sidebar-1-divider: var(--color-neutral-700);
330
+ --sidebar-1-nav-foreground: var(--color-neutral-200);
331
+ --sidebar-1-nav-hover: var(--color-neutral-700);
332
+ --sidebar-1-nav-focus: var(--color-neutral-700);
333
+ --sidebar-1-nav-active: var(--color-neutral-700);
334
+ --sidebar-1-nav-list-divider: var(--color-neutral-700);
335
+
336
+ --sidebar-2: var(--color-neutral-900);
337
+ --sidebar-2-divider: var(--color-neutral-800);
338
+ --sidebar-2-nav-foreground: var(--color-neutral-200);
339
+ --sidebar-2-nav-hover: var(--color-neutral-800);
340
+ --sidebar-2-nav-focus: var(--color-neutral-800);
341
+ --sidebar-2-nav-active: var(--color-neutral-800);
342
+ --sidebar-2-nav-list-divider: var(--color-neutral-800);
343
+
344
+ --card: var(--color-neutral-800);
345
+ --card-line: var(--color-neutral-700);
346
+ --card-divider: var(--color-neutral-700);
347
+ --card-header: var(--color-neutral-700);
348
+ --card-footer: var(--color-neutral-700);
349
+ --card-inverse: var(--color-black);
350
+
351
+ --dropdown: var(--color-neutral-900);
352
+ --dropdown-1: var(--color-neutral-950);
353
+ --dropdown-divider: var(--color-neutral-800);
354
+ --dropdown-header: var(--color-neutral-700);
355
+ --dropdown-footer: var(--color-neutral-700);
356
+ --dropdown-item-foreground: var(--color-neutral-200);
357
+ --dropdown-item-hover: var(--color-neutral-800);
358
+ --dropdown-item-focus: var(--color-neutral-800);
359
+ --dropdown-item-active: var(--color-neutral-800);
360
+ --dropdown-inverse: var(--color-black);
361
+
362
+ --select: var(--color-neutral-900);
363
+ --select-1: var(--color-neutral-950);
364
+ --select-item-foreground: var(--color-neutral-200);
365
+ --select-item-hover: var(--color-neutral-800);
366
+ --select-item-focus: var(--color-neutral-800);
367
+ --select-item-active: var(--color-neutral-800);
368
+ --select-inverse: var(--color-black);
369
+
370
+ --overlay: var(--color-neutral-800);
371
+ --overlay-divider: var(--color-neutral-700);
372
+ --overlay-header: var(--color-neutral-700);
373
+ --overlay-footer: var(--color-neutral-700);
374
+ --overlay-inverse: var(--color-black);
375
+
376
+ --popover: var(--color-neutral-900);
377
+ --popover-line: var(--color-neutral-700);
378
+
379
+ --tooltip: var(--color-white);
380
+
381
+ --table-line: var(--color-neutral-700);
382
+
383
+ --switch: var(--color-neutral-900);
384
+
385
+ --footer: var(--color-neutral-900);
386
+ --footer-line: var(--color-neutral-700);
387
+ --footer-inverse: var(--color-black);
388
+
389
+ --scrollbar-track: var(--color-neutral-700);
390
+ --scrollbar-thumb: var(--color-neutral-500);
391
+ --scrollbar-track-inverse: var(--color-neutral-500);
392
+ --scrollbar-thumb-inverse: var(--color-neutral-700);
393
+
394
+ --chart-primary: var(--color-primary-200);
395
+ --chart-2: var(--color-emerald-200);
396
+ --chart-3: var(--color-emerald-400);
397
+ --chart-4: var(--color-emerald-800);
398
+ --chart-8: var(--color-neutral-700);
399
+ --chart-9: var(--color-neutral-500);
400
+ --chart-10: var(--color-neutral-700);
401
+ }