@evergis/react 4.0.129 → 4.0.130

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 (25) hide show
  1. package/dist/components/Dashboard/componentTypes.d.ts +1 -1
  2. package/dist/components/Dashboard/components/AddButton/styled.d.ts +15 -0
  3. package/dist/components/Dashboard/components/index.d.ts +1 -0
  4. package/dist/components/Dashboard/containers/AttachmentContainer/styled.d.ts +0 -1
  5. package/dist/components/Dashboard/containers/StructuredDataContainer/constants.d.ts +2 -0
  6. package/dist/components/Dashboard/containers/StructuredDataContainer/hooks/useStructuredData.d.ts +4 -0
  7. package/dist/components/Dashboard/containers/StructuredDataContainer/styled.d.ts +3 -0
  8. package/dist/components/Dashboard/containers/StructuredDataContainer/utils/filterValue.d.ts +3 -2
  9. package/dist/components/Dashboard/containers/StructuredDataContainer/utils/viewScroll.d.ts +17 -0
  10. package/dist/components/Dashboard/elements/ElementTable/components/TableCell.d.ts +1 -1
  11. package/dist/components/Dashboard/elements/ElementTable/constants.d.ts +5 -0
  12. package/dist/components/Dashboard/elements/ElementTable/hooks/useCellEditing.d.ts +25 -9
  13. package/dist/components/Dashboard/elements/ElementTable/hooks/useHeadOverlap.d.ts +15 -0
  14. package/dist/components/Dashboard/elements/ElementTable/hooks/useSurfaceColor.d.ts +16 -0
  15. package/dist/components/Dashboard/elements/ElementTable/hooks/useTableView.d.ts +10 -1
  16. package/dist/components/Dashboard/elements/ElementTable/styled.d.ts +51 -4
  17. package/dist/components/Dashboard/elements/ElementTable/types.d.ts +5 -0
  18. package/dist/components/Dashboard/elements/ElementTable/utils/surfaceColor.d.ts +13 -0
  19. package/dist/components/Dashboard/elements/ElementTable/utils/tableBox.d.ts +20 -0
  20. package/dist/components/Dashboard/types.d.ts +0 -6
  21. package/dist/index.js +349 -113
  22. package/dist/index.js.map +1 -1
  23. package/dist/react.esm.js +350 -115
  24. package/dist/react.esm.js.map +1 -1
  25. package/package.json +3 -3
@@ -109,7 +109,7 @@ export interface ElementSvgProps extends Omit<ContainerProps, "elementConfig"> {
109
109
  layerInfo?: QueryLayerServiceInfoDc;
110
110
  attributes?: ClientFeatureAttribute[];
111
111
  }
112
- export type ElementTableOptions = Pick<ConfigOptions, "columnNames" | "sort">;
112
+ export type ElementTableOptions = Pick<ConfigOptions, "sort" | "width" | "height">;
113
113
  export interface ElementTableConfig extends Omit<ConfigContainerChild, "options" | "type"> {
114
114
  type?: "table";
115
115
  options?: ElementTableOptions;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Кнопка «добавить»: серая скруглённая, со значком и подписью. Общая на весь дашборд — вложения
3
+ * и таблица структурированных данных добавляют одинаковой кнопкой, разница только в значке.
4
+ *
5
+ * Размеры сняты с макета (все — в половину его пикселей, макет снят на удвоенной плотности):
6
+ * высота 24, поля 10, просвет между значком и подписью 6, значок 14, подпись 14.
7
+ *
8
+ * Скругление и ширина по содержимому — от самого `IconButton`: он скруглён по умолчанию, а с
9
+ * подписью в детях перестаёт держать фиксированную ширину. Значок ужат до 0.875rem: свой 1rem
10
+ * он заполняет краями, и на макете кружок мельче подписи, а не вровень с ней.
11
+ *
12
+ * Подпись темнее значка: `IconButton` красит и то и другое цветом иконки, но в макете подпись —
13
+ * обычный текст (`textPrimary`), а приглушён только значок.
14
+ */
15
+ export declare const AddButtonRow: import('styled-components').StyledComponent<import('react').FC<import('@evergis/uilib-gl').IIconButtonProps>, any, {}, never>;
@@ -1,3 +1,4 @@
1
+ export * from './AddButton/styled';
1
2
  export * from './AddFeatureButton';
2
3
  export * from './Chart';
3
4
  export * from './ChartLegend';
@@ -34,6 +34,5 @@ export declare const ListActions: import('styled-components').StyledComponent<"d
34
34
  export declare const ListItemContainer: import('styled-components').StyledComponent<"div", any, {}, never>;
35
35
  export declare const ShowMoreButton: import('styled-components').StyledComponent<"div", any, {}, never>;
36
36
  export declare const AddButtonContainer: import('styled-components').StyledComponent<"div", any, {}, never>;
37
- export declare const AddButtonRow: import('styled-components').StyledComponent<import('react').FC<import('@evergis/uilib-gl').IIconButtonProps>, any, {}, never>;
38
37
  export declare const HiddenFileInput: import('styled-components').StyledComponent<"input", any, {}, never>;
39
38
  export declare const LinkDialogContent: import('styled-components').StyledComponent<"div", any, {}, never>;
@@ -1,4 +1,6 @@
1
1
  import { AttributeType } from '@evergis/api';
2
+ /** Слот представления: единственный ребёнок контейнера, рисующий данные (элемент `table`). */
3
+ export declare const STRUCTURED_DATA_VIEW_SLOT = "data";
2
4
  /**
3
5
  * Типы атрибутов с редактором ячейки. Атрибут любого другого типа показывается только на чтение,
4
6
  * даже если помечен `isEditable: true` — редактора для него нет.
@@ -9,6 +9,10 @@ import { StructuredDataContextValue } from '../types';
9
9
  * Вид источника на права правки не влияет — от него зависит только адресат «Сохранить». Слой
10
10
  * принимает запись через features-API, источник без `layerName` (EQL, python-скрипт, внешний
11
11
  * url) не принимает ничего, и правка такой таблицы уходит только в фильтр.
12
+ *
13
+ * Значение фильтра читается так же, как его читают остальные потребители дашборда: выбор
14
+ * пользователя, а пока его нет — `defaultValue` из конфига фильтра. Общего стейта, залитого
15
+ * дефолтами, в дашборде нет, поэтому фолбэк делает каждый потребитель сам.
12
16
  */
13
17
  export declare const useStructuredData: (type: WidgetType, elementConfig?: StructuredDataContainerConfig) => {
14
18
  contextValue: StructuredDataContextValue;
@@ -14,5 +14,8 @@ export declare const StructuredDataActions: import('styled-components').StyledCo
14
14
  /**
15
15
  * Область представления. Прокручивается внутри себя, чтобы длинная таблица не растягивала
16
16
  * контейнер за пределы отведённой ему ячейки; `min-height: 0` разрешает flex-ребёнку сжиматься.
17
+ *
18
+ * Собственный бокс таблицы (`options.width`/`height` представления) живёт внутри и на эту
19
+ * прокрутку не влияет: он ограничивает саму таблицу, а не отведённое контейнером место.
17
20
  */
18
21
  export declare const StructuredDataView: import('styled-components').StyledComponent<"div", any, import('@evergis/uilib-gl').FlexProps, never>;
@@ -3,8 +3,9 @@ import { DraftRow, StructuredDataAttribute } from '../types';
3
3
  /**
4
4
  * Строки черновика → значение фильтра `valueType: "features"`.
5
5
  *
6
- * В `properties` попадают ВСЕ атрибуты схемы, а не только показанные колонками: схема и вид
7
- * разделены, и вид не должен резать данные. Геометрия не поддерживается `geometry: null`.
6
+ * В `properties` попадает ровно схема: значения по её атрибутам, включая незаполненные. Лишние
7
+ * ключи черновика (пришли из источника, остались от прежней схемы) наружу не уходят, а объявленный
8
+ * атрибут уходит всегда. Геометрия не поддерживается — `geometry: null`.
8
9
  */
9
10
  export declare const toFeaturesFilterValue: (rows: DraftRow[], schema: StructuredDataAttribute[]) => FeaturesFilterValue;
10
11
  /**
@@ -0,0 +1,17 @@
1
+ import { StructuredDataContainerConfig } from '../../../types';
2
+ /** Режимы прокрутки представления таблицы. */
3
+ export interface ViewScroll {
4
+ /** Горизонтальная: колонки по содержимому, лишнее — в прокрутку, обёртка не растягивается. */
5
+ scrollH: boolean;
6
+ /** Вертикальная: таблица заперта в отведённую высоту и прокручивается внутри себя. */
7
+ scrollV: boolean;
8
+ }
9
+ /**
10
+ * Режимы прокрутки, объявленные у ребёнка-представления (`data`).
11
+ *
12
+ * Опции принадлежат виду и лежат там же, где `columnNames` и `sort`, но применяет их контейнер:
13
+ * бокс прокрутки — его узел, единственный в этой цепочке, который умеет быть меньше своего
14
+ * содержимого. Сама таблица ниже своих ширины и высоты не сжимается, а обёртка элемента между
15
+ * ними контейнеру не принадлежит — задать ей размер изнутри элемента нечем.
16
+ */
17
+ export declare const getViewScroll: (elementConfig?: StructuredDataContainerConfig) => ViewScroll;
@@ -3,7 +3,7 @@ import { TableCellProps } from '../types';
3
3
  /**
4
4
  * Ячейка таблицы.
5
5
  *
6
- * Вне фокуса значение всегда показано через `stringFormat` редактор подставляется по клику.
6
+ * Вне фокуса значение всегда показано через `stringFormat`, редактор подставляется на фокус.
7
7
  * Иначе форматирование (округление, разряды, единицы) пришлось бы дублировать внутри инпута,
8
8
  * а вводить в отформатированное поле нельзя.
9
9
  */
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Насколько тело таблицы заехало под липкую шапку. Пишется на таблицу при прокрутке, читается
3
+ * стилем тела: ровно на эту величину тело и отсекается.
4
+ */
5
+ export declare const HEAD_OVERLAP_VARIABLE = "--table-head-overlap";
1
6
  /**
2
7
  * Признак времени в шаблоне `stringFormat.format`.
3
8
  *
@@ -1,15 +1,31 @@
1
- import { KeyboardEvent } from 'react';
1
+ import { FocusEvent, KeyboardEvent } from 'react';
2
2
  /**
3
- * Режим правки одной ячейки: открывается кликом по значению, закрывается кликом снаружи.
3
+ * Правка одной ячейки.
4
4
  *
5
- * Закрывать по `blur` нельзя: `DatePicker` уводит фокус из поля уже на клике по иконке
6
- * календаряредактор исчезал бы раньше, чем календарь успевал открыться. Поэтому слушаем
7
- * `mousedown` на документе, а клики внутри портала (`#portal-root`) считаем «своими»:
8
- * выпадающие слои контролов uilib живут именно там, вне DOM-поддерева ячейки.
5
+ * Открывает её фокус, а не клик: по таблице ходят Tab-ом, и на каждой ячейке сразу нужно поле
6
+ * с курсором кнопка, требующая ещё и Enter, ломала бы весь проход.
7
+ *
8
+ * Поэтому состояний три. `focused` ячейка под фокусом с закрытым редактором, состояние после
9
+ * Enter/Escape: фокус возвращается на кнопку, но правку заново не открывает (иначе выйти из неё
10
+ * было бы нечем), а Tab с неё идёт дальше по таблице.
11
+ *
12
+ * Закрывать правку по любому уходу фокуса нельзя: DatePicker уводит его из поля уже на клике по
13
+ * иконке календаря — редактор исчезал бы раньше, чем календарь успевал открыться. Клавиатурный
14
+ * уход видно по `relatedTarget` (фокус ушёл на соседнюю ячейку), мышиный ловит `mousedown`
15
+ * снаружи. Клики внутри портала (`#portal-root`) считаем «своими»: выпадающие слои контролов
16
+ * uilib живут именно там, вне DOM-поддерева ячейки.
9
17
  */
10
18
  export declare const useCellEditing: () => {
11
19
  editing: boolean;
12
- editorRef: import('react').MutableRefObject<HTMLDivElement>;
13
- startEditing: () => void;
14
- onKeyDown: ({ key }: KeyboardEvent<HTMLDivElement>) => void;
20
+ buttonProps: {
21
+ ref: import('react').MutableRefObject<HTMLButtonElement>;
22
+ onFocus: () => void;
23
+ onBlur: () => void;
24
+ onClick: () => void;
25
+ };
26
+ editorProps: {
27
+ ref: import('react').MutableRefObject<HTMLDivElement>;
28
+ onBlur: ({ relatedTarget }: FocusEvent<HTMLDivElement>) => void;
29
+ onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
30
+ };
15
31
  };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Отсечка тела таблицы по нижней кромке липкой шапки.
3
+ *
4
+ * Шапка прозрачная — фон контейнера виден сквозь неё, и красить её нечем: цвет контейнера задаётся
5
+ * конфигом и меняется. Значит, строки не должны под неё заезжать в принципе. Тело для этого
6
+ * отсекается (`clip-path`) ровно на то, на сколько шапка его накрыла: низ шапки минус верх тела.
7
+ *
8
+ * Разница считается по факту, а не по величине прокрутки: она одинаково верна и когда прокручивает
9
+ * собственный бокс таблицы, и когда её прокручивает область представления контейнера. Пока
10
+ * не прокручено, низ шапки совпадает с верхом тела — отсекать нечего.
11
+ *
12
+ * Прокрутка не всплывает, но проходит фазу перехвата, поэтому слушаем документ: какой именно
13
+ * предок прокручивается, знать не нужно.
14
+ */
15
+ export declare const useHeadOverlap: (table: HTMLTableElement | null) => void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Цвет подложки под узлом — для липкой шапки таблицы.
3
+ *
4
+ * Шапке нужен собственный непрозрачный фон, иначе строки просвечивают сквозь заголовки. Взять его
5
+ * из палитры нельзя: контейнер дашборда красится цветом из конфига, и фиксированный токен остался
6
+ * бы прямоугольником чужого цвета, как только фон контейнера поменяли. Поэтому цвет не назначается,
7
+ * а измеряется — тем же, что видно вокруг таблицы.
8
+ *
9
+ * Пересчёт — на смену темы и на правку класса или стиля у любого предка: цвет контейнера меняют
10
+ * в редакторе, и таблица о таком не узнаёт (своих пропов она не меняет и не перерисовывается).
11
+ * Поэтому слушаются все предки до корня, а не только те, где нашёлся цвет: подложкой может стать
12
+ * тот, что был прозрачным.
13
+ *
14
+ * Замер до отрисовки (`useLayoutEffect`) — иначе первый кадр шапка рисовалась бы цветом темы.
15
+ */
16
+ export declare const useSurfaceColor: (node: HTMLElement | null) => string;
@@ -1,10 +1,17 @@
1
1
  import { ElementTableConfig } from '../../../types';
2
2
  import { TableSort } from '../types';
3
3
  /**
4
- * Вид таблицы: набор и порядок колонок из `columnNames` плюс локальная сортировка.
4
+ * Вид таблицы: колонки плюс локальная сортировка.
5
+ *
6
+ * Набор и порядок колонок — это схема контейнера (`attributesDescription`) как есть: показываем
7
+ * ровно то, что описано, и в том же порядке. Своего отбора у представления нет — иначе описанный
8
+ * атрибут и видимая колонка расходились бы, а в фильтр всё равно уходят все атрибуты схемы.
5
9
  *
6
10
  * Сортировка живёт здесь, а не в контейнере: она ничего не меняет в данных и не должна
7
11
  * влиять на порядок строк, уходящих в фильтр.
12
+ *
13
+ * `width`/`height` — размер собственного бокса таблицы: он ограничивает её саму и прокручивает
14
+ * то, что не влезло. Место, отведённое контейнеру, задаётся его же опциями и живёт отдельно.
8
15
  */
9
16
  export declare const useTableView: (elementConfig?: ElementTableConfig) => {
10
17
  context: import('../../../containers/StructuredDataContainer/types').StructuredDataContextValue;
@@ -12,5 +19,7 @@ export declare const useTableView: (elementConfig?: ElementTableConfig) => {
12
19
  rows: import('../../../containers/StructuredDataContainer/types').DraftRow[];
13
20
  sort: TableSort;
14
21
  sortEnabled: boolean;
22
+ sizeCss: import('styled-components').CSSObject;
23
+ contentWidth: boolean;
15
24
  onSortToggle: (attributeName: string) => void;
16
25
  };
@@ -1,15 +1,59 @@
1
- export declare const TableWrapper: import('styled-components').StyledComponent<"table", any, {}, never>;
1
+ import { ContainerRootProps } from '../../styled';
2
+ /**
3
+ * Собственный бокс таблицы. Без размеров в `options` представления узел ничего не меняет:
4
+ * таблица растёт под содержимое, а прокручивает лишнее область представления контейнера.
5
+ *
6
+ * С размерами бокс становится её скролл-контейнером — и липкая шапка липнет уже к нему.
7
+ */
8
+ export declare const TableBox: import('styled-components').StyledComponent<"div", any, ContainerRootProps, never>;
9
+ /**
10
+ * Таблица. По умолчанию втискивается в ширину, которую ей дали: колонкам достаётся то, что есть,
11
+ * а длинные значения режутся многоточием внутри ячейки.
12
+ *
13
+ * `$contentWidth` (ширина бокса задана в `options`) переводит её на ширину по содержимому:
14
+ * колонки встают по своим значениям, предел ячейки снимается, и всё, что не влезло, уходит
15
+ * в горизонтальную прокрутку бокса. Иначе вышла бы бессмыслица — бокс с прокруткой, а значения
16
+ * всё равно с многоточием. `min-width` оставляет таблицу растянутой на весь бокс, когда
17
+ * содержимого на его ширину не набирается.
18
+ *
19
+ * Снятый предел ширины ячейки едет вниз css-переменной, а не правилом по `TableCellWrapper`:
20
+ * ячейка объявлена ниже по файлу, и селектор по ней отсюда попал бы в TDZ.
21
+ */
22
+ export declare const TableWrapper: import('styled-components').StyledComponent<"table", any, {
23
+ $contentWidth?: boolean;
24
+ }, never>;
2
25
  /**
3
26
  * Шапка липнет к верху области прокрутки — при длинной таблице заголовки остаются видны.
4
27
  *
5
- * Собственного фона у шапки нет: цвет из палитры не следовал за подложкой контейнера
6
- * и выделялся белым прямоугольником на любом фоне, отличном от базового.
28
+ * Своего фона у неё нет и не должно быть: контейнер дашборда красится цветом из конфига, и любой
29
+ * назначенный шапке цвет остался бы прямоугольником чужого цвета, как только фон контейнера
30
+ * поменяли. Под шапкой виден фон контейнера, а строки под неё не заезжают — тело отсечено
31
+ * (см. TableBody и useHeadOverlap).
7
32
  */
8
33
  export declare const TableHead: import('styled-components').StyledComponent<"thead", any, {}, never>;
9
34
  export declare const TableHeadCell: import('styled-components').StyledComponent<"th", any, {
10
35
  $sortable?: boolean;
11
36
  }, never>;
12
37
  export declare const TableHeadContent: import('styled-components').StyledComponent<"span", any, {}, never>;
38
+ /**
39
+ * Место под значок сортировки. Занято всегда, пока сортировка включена, а сам значок только
40
+ * прячется: появляясь и исчезая, он менял бы ширину колонки — и таблицу дёргало бы на каждый
41
+ * клик по заголовку, вместе с телом. Оба направления рисуются значком в 1rem, поэтому
42
+ * переключение asc/des ширину тоже не трогает.
43
+ */
44
+ export declare const TableSortSlot: import('styled-components').StyledComponent<"span", any, {
45
+ $active?: boolean;
46
+ }, never>;
47
+ /**
48
+ * Тело таблицы. Отсекается ровно на то, на сколько его накрыла липкая шапка: строки уходят под
49
+ * её нижнюю кромку и сквозь прозрачную шапку не проступают. Величину пишет {@link useHeadOverlap},
50
+ * без неё отсечка нулевая и разметка не меняется.
51
+ */
52
+ export declare const TableBody: import('styled-components').StyledComponent<"tbody", any, {}, never>;
53
+ /**
54
+ * Строка. Разделитель рисуют её ячейки: собственная рамка строки при раздельных рамках не
55
+ * рисуется вовсе, а при схлопнутых её рисовала бы таблица — и отсечка тела её бы не резала.
56
+ */
13
57
  export declare const TableRow: import('styled-components').StyledComponent<"tr", any, {}, never>;
14
58
  export declare const TableCellWrapper: import('styled-components').StyledComponent<"td", any, {}, never>;
15
59
  /** Колонка действий: узкая, не растягивается содержимым. */
@@ -17,7 +61,10 @@ export declare const TableActionsCell: import('styled-components').StyledCompone
17
61
  export declare const CellText: import('styled-components').StyledComponent<"div", any, {}, never>;
18
62
  /**
19
63
  * Редактируемая ячейка вне фокуса. Показывает значение по `stringFormat`, а редактор
20
- * подставляется по клику — иначе форматирование пришлось бы дублировать внутри инпута.
64
+ * подставляется на фокус — иначе форматирование пришлось бы дублировать внутри инпута.
65
+ *
66
+ * Кнопка, а не просто текст, именно ради фокуса: она — таб-стоп ячейки, и Tab по таблице
67
+ * открывает редактор с курсором внутри.
21
68
  */
22
69
  export declare const CellButton: import('styled-components').StyledComponent<"button", any, {}, never>;
23
70
  export declare const CellPlaceholder: import('styled-components').StyledComponent<"span", any, {}, never>;
@@ -1,6 +1,11 @@
1
1
  import { FeatureAttributeValue } from '../../../../types';
2
2
  import { DraftRow, StructuredDataAttribute } from '../../containers/StructuredDataContainer/types';
3
3
  export type SortDirection = "asc" | "desc";
4
+ /**
5
+ * Состояние правки ячейки: закрыта, закрыта под фокусом (вышли из редактора по Enter/Escape),
6
+ * открыт редактор.
7
+ */
8
+ export type CellMode = "idle" | "focused" | "editing";
4
9
  /** Сортировка представления: одна колонка за раз, `null` — исходный порядок строк. */
5
10
  export interface TableSort {
6
11
  attributeName: string;
@@ -0,0 +1,13 @@
1
+ /** Предки узла снизу вверх: по ним ищется подложка, за ними же следят на предмет смены цвета. */
2
+ export declare const getAncestors: (node: HTMLElement | null) => HTMLElement[];
3
+ /**
4
+ * Непрозрачный цвет подложки под узлом — то, что видно вокруг него.
5
+ *
6
+ * Фоны предков складываются снизу вверх, пока не наберётся непрозрачность: полупрозрачный тон
7
+ * (плитка красится белым 6%) сам по себе цвета не даёт, а поверх фона под ним даёт ровно то, что
8
+ * видит глаз. Дошли до верха, а непрозрачность не набралась — цвета нет, пусть решает тема.
9
+ *
10
+ * Считается только `background-color`: картинки и градиенты предков замер не видит и берёт цвет
11
+ * из-под них. Для дашборда это безопасно — контейнеры красятся цветом из конфига.
12
+ */
13
+ export declare const getSurfaceColor: (node: HTMLElement | null) => string | undefined;
@@ -0,0 +1,20 @@
1
+ import { CSSObject } from 'styled-components';
2
+ import { CssSize } from '../../../types';
3
+ /**
4
+ * Css собственного бокса таблицы: размер из `options` представления плюс прокрутка того,
5
+ * что в этот размер не влез.
6
+ *
7
+ * Размеров нет — нет и бокса: таблица занимает столько, сколько просит содержимое, а лишнее,
8
+ * как и раньше, уходит в прокрутку области представления контейнера.
9
+ *
10
+ * Проценты работают только по ширине. Между областью представления и таблицей стоит блочная
11
+ * обёртка элемента (`ElementValueWrapper`) с высотой `auto`, и `height: "100%"` в ней не
12
+ * разрешается — вертикальный предел задают конкретные единицы (`240`, `"20rem"`, `"50vh"`),
13
+ * а «занять всю выданную высоту» остаётся за `options.height` контейнера.
14
+ *
15
+ * `contain: inline-size` идёт в пару к fill-ширине: сама по себе она предком не ограничена
16
+ * (процент от раскладки, которая меряет себя содержимым, вырождается в `auto`), и таблица
17
+ * распирала бы ряд плиток или трек `auto` изнутри. С containment вклад бокса в ширину предка
18
+ * обнуляется: ширину он берёт снаружи, а внутрь по ней не смотрят.
19
+ */
20
+ export declare const getTableBoxStyle: (width?: CssSize, height?: CssSize) => CSSObject | undefined;
@@ -358,12 +358,6 @@ export interface ConfigCollectionOptions {
358
358
  otherItems?: number;
359
359
  orderByValue?: boolean;
360
360
  orderByTitle?: boolean;
361
- /**
362
- * Имена атрибутов схемы, показываемые колонками представления `table`. Подмножество
363
- * `attributesDescription` родительского контейнера; порядок колонок — порядок этого массива.
364
- * Не задано — показываются все атрибуты схемы.
365
- */
366
- columnNames?: string[];
367
361
  /** Разрешить сортировку представления кликом по заголовку колонки. Сортировка локальная — только вид. */
368
362
  sort?: boolean;
369
363
  viewMode?: ViewMode;