startup-ui 1.0.3 → 1.0.4

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.
@@ -4,6 +4,10 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
4
4
  hoverable?: boolean;
5
5
  striped?: boolean;
6
6
  bordered?: boolean;
7
+ /**
8
+ * Tighter cell padding for dense / data-heavy tables
9
+ */
10
+ compact?: boolean;
7
11
  nodata?: string;
8
12
  fixedHeader?: boolean;
9
13
  height?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"STable.vue.d.ts","sourceRoot":"","sources":["../../../src/components/STable.vue"],"names":[],"mappings":"AA+BA;yBA6MiB,CAAC,EACjB,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAsJO,mBAAmB,CAAC;eApJjB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;oBAC3B,OAAO;kBACT,OAAO;mBACN,OAAO;iBACT,MAAM;sBACD,OAAO;iBACZ,MAAM;oBACH,OAAO;mBA6IuE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;wBArCiB,GAAG;yBACF,GAAG;wBACJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACN,GAAG;yBACC,GAAG;wBACJ,GAAG;yBACF,GAAG;;UAiCzB,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAjKzE,wBAiK4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"STable.vue.d.ts","sourceRoot":"","sources":["../../../src/components/STable.vue"],"names":[],"mappings":"AA+BA;yBAqNiB,CAAC,EACjB,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WA0JO,mBAAmB,CAAC;eAxJjB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;oBAC3B,OAAO;kBACT,OAAO;mBACN,OAAO;QAClB;;WAEG;kBACO,OAAO;iBACR,MAAM;sBACD,OAAO;iBACZ,MAAM;oBACH,OAAO;mBA6IuE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;wBArCiB,GAAG;yBACF,GAAG;wBACJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACN,GAAG;yBACC,GAAG;wBACJ,GAAG;yBACF,GAAG;;UAiCzB,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AArKzE,wBAqK4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -255,6 +255,59 @@ const totalBalance = computed(() => users.value.reduce((acc, user) => acc + user
255
255
  </script>
256
256
  ```
257
257
 
258
+ ## Компактные ячейки
259
+
260
+ По умолчанию у ячеек комфортные отступы. Для плотных таблиц с большим количеством данных можно уменьшить отступы атрибутом <strong>compact</strong>.
261
+
262
+ ```vue
263
+ <template>
264
+ <STable :data="users" compact>
265
+ <template #header>
266
+ <td>Пользователь</td>
267
+ <td>Тариф</td>
268
+ <td>Баланс</td>
269
+ <td>Роль</td>
270
+ <td>Дата регистрации</td>
271
+ <td></td>
272
+ </template>
273
+ <template #row="{ row }">
274
+ <td>{{ row.username }}</td>
275
+ <td>{{ row.plan }}</td>
276
+ <td>{{ row.balance }}</td>
277
+ <td>{{ row.role }}</td>
278
+ <td>{{ row.created_at }}</td>
279
+ <td>
280
+ <SActionIcon title="Удалить" :confirm="`Вы действительно хотите удалить пользователя «${row.username}»?`"
281
+ @click="deleteUser(row.username)" icon="trash" danger />
282
+ </td>
283
+ </template>
284
+ <template #footer>
285
+ <td>ИТОГО</td>
286
+ <td></td>
287
+ <td>{{ totalBalance }}</td>
288
+ <td></td>
289
+ <td></td>
290
+ <td></td>
291
+ </template>
292
+ </STable>
293
+ </template>
294
+ <script setup>
295
+ import { ref, computed } from 'vue'
296
+
297
+ const users = ref([
298
+ { username: 'Ivanov', role: 'customer', plan: 'Базовый', balance: 3000, created_at: '2025-11-04' },
299
+ { username: 'Stepanov', role: 'customer', plan: 'Базовый', balance: 4500, created_at: '2025-11-05' },
300
+ { username: 'Petrov', role: 'customer', plan: 'Базовый', balance: 1716, created_at: '2025-11-05' },
301
+ ])
302
+
303
+ function deleteUser(username) {
304
+ users.value = users.value.filter(user => user.username !== username)
305
+ }
306
+
307
+ const totalBalance = computed(() => users.value.reduce((acc, user) => acc + user.balance, 0))
308
+ </script>
309
+ ```
310
+
258
311
  ## Фиксированная шапка
259
312
 
260
313
  Чтобы зафиксировать шапку, устанавливаем высоту таблицы в атрибуте `height`.
@@ -580,6 +633,7 @@ function deleteUser(username) {
580
633
  | hoverable | boolean | `false` | Подсветка строки при наведении курсора. |
581
634
  | striped | boolean | `false` | Чередование цвета фона строк (выделение четных строк). |
582
635
  | bordered | boolean | `false` | Отрисовка границ (бордеров) у всех ячеек. |
636
+ | compact | boolean | `false` | Уменьшенные отступы в ячейках для плотных таблиц. |
583
637
  | nodata | string | `'Ничего не найдено'` | Текст, выводимый, когда `data` пустое. |
584
638
  | fixedHeader | boolean | `false` | Фиксированная шапка (принудительно), если не задана `height`. |
585
639
  | height | string | `undefined` | Фиксированная высота таблицы (например, `300px` или `80vh`). Автоматически включает `fixedHeader`. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "startup-ui",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Vue3 UI components for IT startups. Best served with Laravel + InertiaJS",
5
5
  "author": "Ruslan Sukhar <ruslan@sukhar.info>",
6
6
  "license": "MIT",