elcrm 1.1.2 → 1.1.3

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 (41) hide show
  1. package/dist/index.js +548 -33
  2. package/dist/vite/concat-css.js +13 -1
  3. package/dist/vite/postbuild.js +13 -1
  4. package/package.json +4 -3
  5. package/templates/elcrm-cursor/AGENTS.md +3 -1
  6. package/templates/elcrm-cursor/rules/elcrm-jsdoc.mdc +89 -0
  7. package/templates/elcrm-cursor/rules/elcrm-lib.mdc +1 -0
  8. package/templates/elcrm-cursor/rules/elcrm-packages.mdc +2 -2
  9. package/templates/elcrm-cursor/rules/elcrm-theme.mdc +1 -0
  10. package/templates/elcrm-cursor/rules/elcrm-tokens.mdc +40 -0
  11. package/templates/elcrm-cursor/rules/elcrm-ui.mdc +1 -0
  12. package/templates/elcrm-cursor/rules/elcrm.mdc +1 -1
  13. package/templates/elcrm-docs/CLI.elCRM.md +4 -3
  14. package/templates/elcrm-docs/COMPONENTS.elCRM.md +51 -46
  15. package/templates/panel/web/src/App.tsx +15 -1
  16. package/templates/panel/web/src/component/Header.tsx +19 -6
  17. package/templates/panel/web/src/lazyRoute.ts +6 -0
  18. package/templates/panel/web/src/lib/routeKey.ts +8 -1
  19. package/templates/panel/web/src/lib/theme.ts +20 -3
  20. package/templates/panel/web/src/modules/Account/index.tsx +12 -8
  21. package/templates/panel/web/src/modules/Account/router.sections.ts +5 -3
  22. package/templates/panel/web/src/modules/Account/sections/Profile.tsx +9 -4
  23. package/templates/panel/web/src/modules/Account/sections/Sessions.tsx +1 -1
  24. package/templates/panel/web/src/modules/Home/index.tsx +11 -4
  25. package/templates/panel/web/src/modules/Home/modal/Demo.tsx +10 -0
  26. package/templates/panel/web/src/modules/List/index.tsx +12 -11
  27. package/templates/panel/web/src/modules/List/router.sections.ts +6 -4
  28. package/templates/panel/web/src/modules/List/sections/Basic.tsx +3 -3
  29. package/templates/panel/web/src/modules/List/sections/Horizontal.tsx +1 -1
  30. package/templates/panel/web/src/modules/List/sections/Rows.tsx +6 -3
  31. package/templates/panel/web/src/modules/Settings/index.tsx +14 -8
  32. package/templates/panel/web/src/modules/Settings/router.sections.ts +7 -4
  33. package/templates/panel/web/src/modules/Settings/sections/Appearance.tsx +8 -4
  34. package/templates/panel/web/src/modules/Settings/sections/General.tsx +5 -1
  35. package/templates/panel/web/src/modules/Settings/sections/Profile.tsx +5 -1
  36. package/templates/panel/web/src/pages/Auth.tsx +10 -0
  37. package/templates/panel/web/src/pages/Main.tsx +7 -1
  38. package/templates/panel/web/src/state.ts +9 -0
  39. package/templates/panel/web/src/style/theme-dark.css +18 -87
  40. package/templates/panel/web/src/style/theme-light.css +18 -87
  41. package/templates/panel/web/src/style/theme.css +29 -78
@@ -97,77 +97,41 @@
97
97
  /* —— modal —— */
98
98
  --modal-radius: 12px;
99
99
 
100
- /* —— layout (@elcrm/components: все геом. токены здесь, без fallback в пакете) —— */
101
- --layout-min-height: 100vh;
102
- --layout-gap: 0;
103
-
104
- /* —— header —— */
105
- --header-radius: 0;
100
+ /* —— shell (@elcrm/components: общие токены, как --control-* у form) —— */
101
+ --shell-radius: var(--control-radius);
102
+ --shell-font-size: var(--control-font-size);
103
+ --shell-font-size-sm: 13px;
104
+ --shell-font-size-lg: 18px;
105
+ --shell-font-weight: 600;
106
+ --shell-gap: 12px;
107
+ --shell-gap-sm: 8px;
108
+ --shell-gap-lg: 16px;
109
+ --shell-padding-block: 10px;
110
+ --shell-padding-inline: 14px;
111
+ --shell-padding: var(--shell-padding-block) var(--shell-padding-inline);
112
+ --shell-icon-size: 20px;
113
+ --shell-check-size: 18px;
114
+ --shell-status-size: 10px;
115
+ --shell-disabled-opacity: 0.55;
116
+ --shell-z: 1000;
117
+ --elcrm-z-popover: 1000;
118
+
119
+ /* —— узкие (@elcrm/components) —— */
120
+ --header-radius: var(--shell-radius);
106
121
  --header-height: 52px;
107
- --header-padding: 0.65rem 1rem;
108
- --header-gap: 1rem;
109
122
  --header-shadow: none;
110
123
  --header-margin: 0;
111
124
  --header-z: 20;
112
125
 
113
- /* —— footer —— */
114
- --footer-padding: 0.75rem 1.75rem;
115
- --footer-font-size: 0.875rem;
116
-
117
- /* —— list / item —— */
118
- --list-gap: 0.25rem;
119
- --list-padding: 0;
120
- --item-radius: 12px;
121
- --item-padding: 0.6rem 0.75rem;
122
- --item-gap: 0.5rem;
123
-
124
- /* —— card / block / row / column —— */
125
- --card-radius: 12px;
126
- --card-padding: 1.25rem;
127
- --block-gap: 0.75rem;
128
- --block-padding: 0;
129
- --row-gap: 0.75rem;
130
- --column-gap: 0.75rem;
131
-
132
- /* —— menu —— */
133
- --menu-gap: 0.35rem;
134
- --menu-item-radius: 8px;
135
- --menu-item-padding: 0.45rem 0.75rem;
136
-
137
- /* —— loading —— */
138
- --loading-padding: 2rem;
139
-
140
- /* —— section —— */
141
126
  --section-padding: 1.5rem 1.75rem 2.5rem;
142
- --section-gap: 0.75rem;
143
127
  --section-title-size: 1.5rem;
144
128
  --section-title-size-md: 1.25rem;
145
- --section-description-size: 0.95rem;
146
- --section-icon-gap: 0.75rem;
147
- --section-body-gap: 0.75rem;
148
- --section-actions-gap: 0.65rem;
149
- --section-auth-padding: 24px;
150
- --section-auth-card-padding: 2rem 1.75rem 1.75rem;
151
129
  --section-auth-card-max-width: 22rem;
152
- --section-auth-card-radius: 12px;
153
- --section-block-padding-bottom: 1.75rem;
154
- --section-block-margin-bottom: 1.75rem;
155
130
 
156
- /* —— nav-sections —— */
157
131
  --nav-sections-padding: 1.5rem 1.75rem 2.5rem;
158
- --nav-sections-gap: 1.5rem;
159
132
  --nav-sections-nav-width: 220px;
160
133
  --nav-sections-main-max-width: 720px;
161
- --nav-sections-item-radius: 6px;
162
- --nav-sections-item-padding: 7px 10px;
163
-
164
- /* —— tab-sections —— */
165
- --tab-sections-gap: 1rem;
166
- --tab-sections-tab-padding: 0.65rem 0.15rem;
167
- --tab-sections-tab-gap: 1.25rem;
168
- --tab-sections-badge-size: 11px;
169
134
 
170
- /* —— avatar —— */
171
135
  --avatar-size-s: 1.5rem;
172
136
  --avatar-size-m: 2rem;
173
137
  --avatar-size-l: 2.75rem;
@@ -177,27 +141,14 @@
177
141
  --avatar-font-size-l: 0.95rem;
178
142
  --avatar-font-weight: 700;
179
143
  --avatar-outline-offset: 0;
180
-
181
- /* —— badge —— */
182
- --badge-padding: 0.2rem 0.5rem;
183
- --badge-radius: 999px;
184
- --badge-font-size: 0.75rem;
185
- --badge-font-weight: 600;
186
- --badge-border: 0;
187
-
188
- /* —— brand —— */
189
- --brand-font-weight: 700;
190
- --brand-letter-spacing: 0.02em;
191
-
192
- /* —— empty-state —— */
193
- --empty-state-gap: 0.35rem;
194
- --empty-state-padding: 2rem 1.25rem;
195
- --empty-state-icon-gap: 0.35rem;
196
- --empty-state-title-size: 1.05rem;
197
- --empty-state-description-size: 0.9rem;
198
- --empty-state-max-width: 22rem;
199
- --empty-state-actions-gap: 0.5rem;
200
- --empty-state-actions-margin-top: 0.75rem;
144
+ --avatar-group-overlap: -0.4rem;
145
+ --avatar-group-ring: 2px;
146
+
147
+ --dropdown-min-width: 12rem;
148
+ --dropdown-max-width: 20rem;
149
+ --dropdown-max-height: 20rem;
150
+ --pricing-card-min-width: 16rem;
151
+ --pricing-table-label-width: 10rem;
201
152
  }
202
153
 
203
154
  /* —— база приложения (без захардкоженных цветов) —— */