@necrolab/dashboard 0.5.12 → 0.5.14

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 (54) hide show
  1. package/.playwright-mcp/verification-accounts-desktop.png +0 -0
  2. package/.playwright-mcp/verification-tasks-desktop.png +0 -0
  3. package/.playwright-mcp/verification-tasks-mobile.png +0 -0
  4. package/README.md +21 -0
  5. package/docs/plans/2026-02-08-tailwind-consolidation-results.md +476 -0
  6. package/docs/plans/2026-02-08-tailwind-consolidation.md +2416 -0
  7. package/package.json +1 -1
  8. package/src/App.vue +2 -163
  9. package/src/assets/css/components/buttons.scss +43 -95
  10. package/src/assets/css/components/forms.scss +10 -28
  11. package/src/assets/css/components/search-groups.scss +80 -0
  12. package/src/assets/css/components/tables.scss +0 -8
  13. package/src/assets/css/main.scss +2 -43
  14. package/src/components/Editors/Account/Account.vue +14 -220
  15. package/src/components/Editors/Account/AccountCreator.vue +0 -4
  16. package/src/components/Editors/Account/AccountView.vue +0 -1
  17. package/src/components/Editors/Account/CreateAccount.vue +36 -107
  18. package/src/components/Editors/Profile/CreateProfile.vue +46 -135
  19. package/src/components/Editors/Profile/Profile.vue +10 -213
  20. package/src/components/Editors/Profile/ProfileView.vue +0 -1
  21. package/src/components/Filter/Filter.vue +14 -17
  22. package/src/components/Filter/FilterPreview.vue +0 -6
  23. package/src/components/Table/Row.vue +1 -1
  24. package/src/components/Table/Table.vue +2 -16
  25. package/src/components/Tasks/CreateTaskAXS.vue +45 -104
  26. package/src/components/Tasks/CreateTaskTM.vue +58 -96
  27. package/src/components/Tasks/Task.vue +22 -209
  28. package/src/components/Tasks/TaskView.vue +5 -4
  29. package/src/components/Tasks/ViewTask.vue +201 -214
  30. package/src/components/icons/Copy.vue +6 -0
  31. package/src/components/icons/index.js +3 -1
  32. package/src/components/ui/ActionButtonGroup.vue +70 -0
  33. package/src/components/ui/FormField.vue +74 -0
  34. package/src/components/ui/InfoRow.vue +100 -0
  35. package/src/components/ui/Modal.vue +6 -47
  36. package/src/components/ui/Navbar.vue +15 -43
  37. package/src/components/ui/ReconnectIndicator.vue +4 -4
  38. package/src/components/ui/SectionCard.vue +24 -0
  39. package/src/components/ui/Splash.vue +1 -6
  40. package/src/components/ui/StatusBadge.vue +37 -0
  41. package/src/components/ui/controls/CountryChooser.vue +14 -58
  42. package/src/components/ui/controls/atomic/Dropdown.vue +16 -24
  43. package/src/components/ui/controls/atomic/MultiDropdown.vue +7 -1
  44. package/src/components/ui/controls/atomic/Switch.vue +13 -29
  45. package/src/composables/useCopyToClipboard.js +25 -0
  46. package/src/composables/useRowSelection.js +48 -0
  47. package/src/views/Accounts.vue +0 -81
  48. package/src/views/Console.vue +4 -21
  49. package/src/views/Editor.vue +48 -138
  50. package/src/views/FilterBuilder.vue +0 -23
  51. package/src/views/Login.vue +14 -63
  52. package/src/views/Profiles.vue +0 -82
  53. package/src/views/Tasks.vue +3 -24
  54. package/tailwind.config.js +47 -5
@@ -17,6 +17,11 @@ export default {
17
17
  400: "oklch(0.62 0.22 25 / <alpha-value>)",
18
18
  500: "oklch(0.58 0.24 25 / <alpha-value>)"
19
19
  },
20
+ error: {
21
+ 300: "oklch(0.72 0.15 25 / <alpha-value>)", // Light error ~#EE8282
22
+ 400: "oklch(0.66 0.18 25 / <alpha-value>)", // Medium error
23
+ 500: "oklch(0.60 0.20 25 / <alpha-value>)", // Base error
24
+ },
20
25
  blue: {
21
26
  300: "oklch(0.68 0.14 250 / <alpha-value>)",
22
27
  400: "oklch(0.60 0.18 250 / <alpha-value>)",
@@ -32,11 +37,16 @@ export default {
32
37
  100: "oklch(0.96 0 0 / <alpha-value>)",
33
38
  200: "oklch(0.93 0 0 / <alpha-value>)",
34
39
  300: "oklch(0.1822 0 0 / <alpha-value>)", // Base background (Supabase dark)
40
+ 350: "oklch(0.1900 0 0 / <alpha-value>)", // rgba(26, 27, 30) replacement
35
41
  400: "oklch(0.2046 0 0 / <alpha-value>)", // Card backgrounds
42
+ 450: "oklch(0.2200 0 0 / <alpha-value>)", // rgba(35, 36, 41) replacement
43
+ 475: "oklch(0.2350 0 0 / <alpha-value>)", // rgba(46, 47, 52) replacement
36
44
  500: "oklch(0.2603 0 0 / <alpha-value>)", // Input backgrounds
37
45
  550: "oklch(0.2809 0 0 / <alpha-value>)", // Subtle elevation
38
46
  600: "oklch(0.2809 0 0 / <alpha-value>)", // Borders
47
+ 625: "oklch(0.2950 0 0 / <alpha-value>)", // rgba(61, 62, 68) replacement
39
48
  650: "oklch(0.3132 0 0 / <alpha-value>)", // Hover states
49
+ 675: "oklch(0.3200 0 0 / <alpha-value>)", // rgba(68, 69, 75) replacement
40
50
  700: "oklch(0.31 0 0 / <alpha-value>)", // Active states
41
51
  750: "oklch(0.33 0 0 / <alpha-value>)", // Selected states
42
52
  800: "oklch(0.08 0 0 / <alpha-value>)", // Deep background
@@ -74,9 +84,27 @@ export default {
74
84
  orange: "oklch(0.70 0.10 55 / <alpha-value>)",
75
85
  yellow: "oklch(0.85 0.10 95 / <alpha-value>)"
76
86
  },
77
- border: "oklch(0.26 0 0 / <alpha-value>)"
87
+ overlay: {
88
+ dark: "oklch(0.08 0 0 / 0.85)", // Modal backdrop
89
+ darker: "oklch(0.06 0 0 / 0.90)", // Darker overlay
90
+ },
91
+ border: "oklch(0.26 0 0 / <alpha-value>)",
92
+ 'text-primary': 'oklch(0.90 0 0 / <alpha-value>)', // light-300
93
+ 'text-secondary': 'oklch(0.82 0 0 / <alpha-value>)', // light-400
94
+ 'text-muted': 'oklch(0.65 0 0 / <alpha-value>)', // light-500
95
+ 'text-disabled': 'oklch(0.50 0 0 / <alpha-value>)', // light-600
96
+
97
+ 'bg-base': 'oklch(0.1822 0 0 / <alpha-value>)', // dark-300
98
+ 'bg-elevated': 'oklch(0.2046 0 0 / <alpha-value>)', // dark-400
99
+ 'bg-input': 'oklch(0.2603 0 0 / <alpha-value>)', // dark-500
100
+
101
+ 'border-focus': 'oklch(0.72 0.15 145 / <alpha-value>)', // accent.green
102
+ 'primary': 'oklch(0.72 0.15 145 / <alpha-value>)', // accent.green
78
103
  },
79
104
  screens: {
105
+ // Supported devices: iPad Pro, Desktop, iPhone Portrait
106
+ // iPhone landscape forces rotation to portrait via App.vue
107
+
80
108
  // Mobile first approach
81
109
  xs: "480px", // Small mobile landscape / large mobile portrait
82
110
  sm: "640px", // Tablet portrait
@@ -88,7 +116,7 @@ export default {
88
116
  tablet: "768px", // Tablet-specific styling
89
117
  desktop: "1024px", // Desktop-specific styling
90
118
 
91
- // Orientation-based breakpoints
119
+ // Orientation-based breakpoints (useful for iPad/desktop)
92
120
  landscape: {
93
121
  raw: "(orientation: landscape)"
94
122
  },
@@ -108,9 +136,6 @@ export default {
108
136
  },
109
137
 
110
138
  // Combined orientation and size breakpoints
111
- "mobile-landscape": {
112
- raw: "(max-width: 896px) and (orientation: landscape) and (max-height: 500px)"
113
- },
114
139
  "mobile-portrait": {
115
140
  raw: "(max-width: 480px) and (orientation: portrait)"
116
141
  },
@@ -135,6 +160,23 @@ export default {
135
160
  boxShadow: {
136
161
  'card': '0 4px 12px rgba(0, 0, 0, 0.2)',
137
162
  'button': '0 1px 2px rgba(0, 0, 0, 0.2)',
163
+ 'sm': '0 1px 2px rgba(0, 0, 0, 0.1)',
164
+ 'md': '0 2px 4px rgba(0, 0, 0, 0.1)',
165
+ 'lg': '0 4px 12px rgba(0, 0, 0, 0.3)',
166
+ 'xl': '0 6px 16px rgba(0, 0, 0, 0.3)',
167
+ 'dropdown': '0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2)',
168
+ 'input-inset': 'inset 0 2px 4px rgba(0, 0, 0, 0.4)',
169
+ },
170
+ borderRadius: {
171
+ 'xs': '3px',
172
+ },
173
+ backdropBlur: {
174
+ 'xs': '4px',
175
+ 'sm': '8px',
176
+ },
177
+ fontSize: {
178
+ 'xxs': '0.625rem', // 10px
179
+ 'xxxs': '0.5625rem', // 9px
138
180
  }
139
181
  }
140
182
  },