@synopackageland/ui 0.11.5 → 0.12.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.
- package/CHANGELOG.md +45 -2
- package/README.md +19 -14
- package/dist/components/app/app-root/AppRoot.vue.d.ts +6 -0
- package/dist/components/composite/data-grid/DataGrid.vue.d.ts +5 -1
- package/dist/components/composite/data-grid/columnType.d.ts +19 -0
- package/dist/components/composite/data-table/DataTable.vue.d.ts +11 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4378 -4263
- package/dist/json/catalog.d.ts +24 -0
- package/dist/json/registry.d.ts +408 -0
- package/dist/json-ai-prompt.md +2 -2
- package/dist/json-catalog.schema.json +18 -0
- package/dist/json-preview/preview.js +3594 -3494
- package/dist/json.js +2 -0
- package/dist/lib/accent.d.ts +17 -0
- package/dist/lib/color.d.ts +16 -0
- package/dist/reka-runtime.json +1 -1
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-theme.css +1 -1
- package/dist/themes/dsm7-embedded.css +1 -1
- package/dist/themes/dsm7.css +1 -1
- package/docs/adaptive-layout.md +2 -2
- package/docs/color-system.md +135 -0
- package/docs/layout-rules.md +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.12.1 (2026-10-19)
|
|
4
|
+
|
|
5
|
+
- Fix the development/workbench Reka patch loader reading Vite version query strings as part of a filename.
|
|
6
|
+
|
|
7
|
+
- Fix: an app-local `AppRoot` with `dialog-bounds="viewport"` no longer throws `style is not iterable` where a `CSSStyleDeclaration` has no iterator (jsdom 27 and other older engines): the floating host reads the accent properties by index. Apps on jsdom 27 no longer need a jsdom upgrade to run their tests.
|
|
8
|
+
- `DataGrid` and `DataTable` columns take a `type`: `text` (default), `number`, `date` or `actions`, and the JSON catalog's table column does too. The type sets the alignment the DSM way: every column left, header and cells alike, as File Station, Drive, Resource Monitor and Container Manager do; `number` and `date` cells use tabular digits; an `actions` cell lays out its buttons from the left with one gap, the first icon under the header text. `align` still overrides it, and `align: 'right'` still gives tabular digits. `TableColumnType` and `TableColumnAlign` are exported. Visible change for apps: none until a column sets `type`; an app that right-aligned numbers can switch to `type: 'number'`.
|
|
9
|
+
- Fix: in an app-local `AppRoot` (`modal-scope="app"`), a mouse click on a control, such as a sidebar row, no longer draws the keyboard focus ring. The click now focuses the control without `:focus-visible`; Tab and arrow focus still show the ring. New browser check `pnpm check:sidebar-focus`.
|
|
10
|
+
|
|
11
|
+
## 0.12.0 (2026-10-18)
|
|
12
|
+
|
|
13
|
+
- Colours come from five 12-step scales built from DSM 7's colours (`--ui-gray-*`, `--ui-blue-*`, `--ui-green-*`, `--ui-orange-*`, `--ui-red-*`, each with translucent `-a` steps, and `--ui-accent-*`), and every semantic token is now one step of a scale ([colour system](docs/color-system.md)). No token was renamed or removed. A few values changed so every text step reads at AA on its fills: `--ui-text-secondary` 78% → 82%, `--ui-danger-text` `#a81b1b`, the soft tone fills 10% of their tone, `--ui-surface-subtle`, `--ui-control-track` and `--ui-control-divider` one step of the grey scale. `--ui-info-soft` no longer follows `--ui-primary-soft`, and `--ui-info-text` no longer follows `--ui-primary-active` overrides. `--ui-selection` is deprecated (unused; use `--ui-surface-selected`).
|
|
14
|
+
- `AppRoot` takes an `accent` colour: selection, focus and main actions use twelve steps derived from it the way DSM derives its blue, a white label keeps 4.5:1, and the status tones stay DSM's. A floating dialog (`dialog-bounds="viewport"`) carries it too. Without it an app keeps DSM blue. `accentScale()` and `accentStyle()` are exported.
|
|
15
|
+
- Text keeps to DSM's tiers: 12, 13 and 14px, and the new `--ui-font-size-title` (16px) for `PageHeader`, a `WizardStep` headline, the About dialog's app name and the sidebar brand (were 18 and 15px). Select and Combobox group labels, `ScheduleTable` hours, `Ghost` counts and sidebar badges go from 10–11px to 12px.
|
|
16
|
+
- `--ui-hairline`: 1px, one device pixel (0.5px) from 2dppx up. Menu separators, `Separator`, `TypoDivider` and `ListItem` use it.
|
|
17
|
+
- No middle-dot separators: `FilePicker` lists each file limit on its own line, a compact `ConnectionTopology` lane captions each link on its own, and a collapsed `AppSidebarUser` tooltip shows the name over the detail (`Tooltip` keeps line breaks).
|
|
18
|
+
- New browser check `pnpm check:palette`: the colour roles on a Control Panel list and a settings page, in a DSM window and on a narrow screen, with DSM blue and two app accents.
|
|
19
|
+
- Visible changes for apps: slightly darker secondary text and red text, softer status fills, a 16px page title. No code changes needed; an app that overrides `--ui-primary` to rebrand can switch to `accent`.
|
|
20
|
+
|
|
21
|
+
### Token values and migration / Token 值與遷移
|
|
22
|
+
|
|
23
|
+
No existing token was renamed or removed. These values change from 0.11.5; scale aliases resolve to the values below with the default DSM accent. / 既有 token 沒有改名或移除;以下列出相較 0.11.5 調整的值,色階別名以預設 DSM accent 的值表示。
|
|
24
|
+
|
|
25
|
+
| Token | 0.11.5 | 0.12.0 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| `--ui-surface-subtle` | `rgba(153, 177, 204, 0.1)` | `--ui-gray-a2`: `rgba(198, 212, 224, 0.18)` |
|
|
28
|
+
| `--ui-text-secondary` | `rgba(65, 75, 85, 0.78)` | `--ui-gray-a11`: `rgba(65, 75, 85, 0.82)` |
|
|
29
|
+
| `--ui-neutral-soft` | `#eef2f5` | `--ui-gray-a3`: `rgba(198, 212, 224, 0.4)` |
|
|
30
|
+
| `--ui-neutral-text` | `#56606a` | `--ui-gray-11`: `#636b74` |
|
|
31
|
+
| `--ui-success-soft` | `#eaf5ed` | `--ui-green-a3`: `rgba(0, 158, 5, 0.1)` |
|
|
32
|
+
| `--ui-warning-soft` | `#fdf2e1` | `--ui-orange-a3`: `rgba(245, 132, 20, 0.1)` |
|
|
33
|
+
| `--ui-danger-soft` | `#fceced` | `--ui-red-a3`: `rgba(230, 64, 64, 0.1)` |
|
|
34
|
+
| `--ui-danger-text` | `#b42f2f` | `--ui-red-11`: `#a81b1b` |
|
|
35
|
+
| `--ui-control-divider` | `rgba(124, 138, 152, 0.45)` | `--ui-gray-a7`: `rgba(124, 138, 152, 0.4)` |
|
|
36
|
+
| `--ui-control-track` | `#cbd3dc` | `--ui-gray-7`: `#cbd0d6` |
|
|
37
|
+
| `--ui-info-soft` | `var(--ui-primary-soft)` | `--ui-blue-a3`: `rgba(5, 127, 235, 0.1)` |
|
|
38
|
+
| `--ui-info-text` | `var(--ui-primary-active)` | `--ui-blue-11`: `#0062b8` |
|
|
39
|
+
|
|
40
|
+
`--ui-info-soft` and `--ui-info-text` keep their default blue values but no longer inherit primary overrides. Apps that used `--ui-primary-soft` / `--ui-primary-active` to style info badges must override `--ui-info-soft` / `--ui-info-text` explicitly. For branding, prefer `<AppRoot accent="#7a5af8">` to overriding individual primary tokens: it also supplies hover, selection and focus colours; status tones remain DSM's. Replace reads of deprecated `--ui-selection` with `--ui-surface-selected`. See the [colour system migration guide](docs/color-system.md#migrating-from-011).
|
|
41
|
+
|
|
42
|
+
`--ui-info-soft`/`--ui-info-text` 的預設藍色值不變,但不再繼承 primary 覆寫。原本透過 `--ui-primary-soft`/`--ui-primary-active` 調整 info badge 的 App,須明確覆寫 `--ui-info-soft`/`--ui-info-text`。品牌色建議改用 `<AppRoot accent="#7a5af8">`,一併提供 hover、選取與焦點色,狀態色仍維持 DSM 色。讀取已 deprecated 的 `--ui-selection` 請改用 `--ui-surface-selected`。詳見[色彩系統遷移說明](docs/color-system.md#migrating-from-011)。
|
|
43
|
+
|
|
44
|
+
繁中摘要:色彩改由五組以 DSM 7 色彩推導的 12 階色階(gray/blue/green/orange/red,各含半透明 `-a` 階,另有 `--ui-accent-*`)提供,所有語意 token 都對應到某一階(見 [colour system](docs/color-system.md))。沒有 token 改名或移除;為了讓文字在各底色上達 AA,少數值有調整:`--ui-text-secondary` 由 78% 改 82%、`--ui-danger-text` 改 `#a81b1b`、狀態淺底改為該色 10%、`--ui-surface-subtle`、`--ui-control-track`、`--ui-control-divider` 改為灰階的一階;`--ui-info-soft` 不再跟著 `--ui-primary-soft`、`--ui-info-text` 不再跟著 `--ui-primary-active` 的覆寫;`--ui-selection` 標為 deprecated(未使用,請改用 `--ui-surface-selected`)。`AppRoot` 新增 `accent`:選取、焦點與主要動作改用由該色推導的 12 階(推導方式同 DSM 藍,白字維持 4.5:1),狀態色維持 DSM 色;`dialog-bounds="viewport"` 的浮動對話框同樣套用;不設定則維持 DSM 藍;並匯出 `accentScale()`、`accentStyle()`。字級收斂到 DSM 層級 12/13/14px,新增 `--ui-font-size-title`(16px)給 `PageHeader`、`WizardStep` 標題、About 對話框 App 名稱與側欄品牌(原 18/15px);Select/Combobox 群組標籤、`ScheduleTable` 時數、`Ghost` 計數與側欄 badge 由 10–11px 改 12px。新增 `--ui-hairline`(1px,2dppx 以上為 0.5px,即一個裝置像素),選單分隔線、`Separator`、`TypoDivider`、`ListItem` 使用。移除「·」分隔:`FilePicker` 每項限制各自一行、compact `ConnectionTopology` 每段連線各自標示、收合的 `AppSidebarUser` tooltip 名稱與說明分兩行(`Tooltip` 保留換行)。新增瀏覽器檢查 `pnpm check:palette`。App 程式不必改;以覆寫 `--ui-primary` 換品牌色的 App 可改用 `accent`。
|
|
45
|
+
|
|
3
46
|
## 0.11.5 (2026-10-18)
|
|
4
47
|
|
|
5
48
|
- **Behavior change:** `AboutDialog` no longer defaults to Synology legal URLs. Apps must supply `tosUrl` and/or `privacyUrl`; an omitted or empty URL hides that individual link. The close action remains available. To retain legal links after upgrading, pass the application's intended URLs explicitly.
|
|
@@ -148,8 +191,8 @@
|
|
|
148
191
|
|
|
149
192
|
## 0.9.7 (2026-10-14)
|
|
150
193
|
|
|
151
|
-
Fixes from the
|
|
152
|
-
修正
|
|
194
|
+
Fixes from the re-verification on DSM. **Behavior change:** a `Space` row packs its items at the start instead of centring them.
|
|
195
|
+
修正 DSM 複驗發現的問題。**行為變更:** `Space` 列的項目改為靠起點排列,不再置中。
|
|
153
196
|
|
|
154
197
|
- A `Space` row packs its items at the start of the line (`justify-content: flex-start`); before, it centred them, and every app had to add `justify-content="start"`. Pass `justify-content="center"` for the old layout.
|
|
155
198
|
- `Space` 列的項目靠行首排列(`justify-content: flex-start`);先前預設置中,每個 App 都得加上 `justify-content="start"`。需要舊版排列時傳入 `justify-content="center"`。
|
package/README.md
CHANGED
|
@@ -385,12 +385,24 @@ faint grey block with no border of its own, at 12px × 16px padding.
|
|
|
385
385
|
|
|
386
386
|
## Theme override
|
|
387
387
|
|
|
388
|
-
Components use semantic CSS tokens
|
|
388
|
+
Components use semantic CSS tokens, each a step of a 12-step scale built from
|
|
389
|
+
DSM 7's colours ([colour system](docs/color-system.md)). Without an override an
|
|
390
|
+
app looks like DSM's own apps: DSM blue for selection, focus and main actions.
|
|
391
|
+
|
|
392
|
+
An app with a colour of its own sets it on its root. The theme derives the
|
|
393
|
+
hover, pressed, selected and focus colours from it, keeps a white label
|
|
394
|
+
readable on it, and leaves the status tones DSM's:
|
|
395
|
+
|
|
396
|
+
```vue
|
|
397
|
+
<AppRoot accent="#7a5af8">
|
|
398
|
+
<App />
|
|
399
|
+
</AppRoot>
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Other tokens are overridden in a stylesheet imported after the library's:
|
|
389
403
|
|
|
390
404
|
```css
|
|
391
405
|
:root {
|
|
392
|
-
--ui-primary: #0086e5;
|
|
393
|
-
--ui-primary-hover: #0077cf;
|
|
394
406
|
--ui-radius-md: 6px;
|
|
395
407
|
--ui-page-padding-x: 24px;
|
|
396
408
|
--ui-section-gap: 16px;
|
|
@@ -400,15 +412,7 @@ Components use semantic CSS tokens. Import your override stylesheet after the li
|
|
|
400
412
|
Status tones come in pairs, a soft fill and the text that reads on it:
|
|
401
413
|
`--ui-{neutral,info,success,warning,danger}-soft` and `-text`. `Badge`,
|
|
402
414
|
`StatusDot`, `StepList` and `ConnectionTopology` use only these and the base
|
|
403
|
-
tones (`--ui-success`, …)
|
|
404
|
-
|
|
405
|
-
```css
|
|
406
|
-
[data-ui-theme='dark'] {
|
|
407
|
-
--ui-success-soft: #173222;
|
|
408
|
-
--ui-success-text: #6fdc8a;
|
|
409
|
-
/* … the other tones, and the surface and text tokens */
|
|
410
|
-
}
|
|
411
|
-
```
|
|
415
|
+
tones (`--ui-success`, …).
|
|
412
416
|
|
|
413
417
|
Density can be switched per application subtree:
|
|
414
418
|
|
|
@@ -533,9 +537,9 @@ phone; use `DataGrid` for anything a user searches or arranges.
|
|
|
533
537
|
<DataGrid
|
|
534
538
|
:columns="[
|
|
535
539
|
{ key: 'name', label: '名稱', sortable: true, flex: 2, minWidth: 200, hideable: false },
|
|
536
|
-
{ key: 'size', label: '大小', sortable: true, width: 90,
|
|
540
|
+
{ key: 'size', label: '大小', sortable: true, width: 90, type: 'number' },
|
|
537
541
|
{ key: 'location', label: '存放位置', minWidth: 120 },
|
|
538
|
-
{ key: 'started', label: '開始時間', sortable: true, width: 140, defaultHidden: true },
|
|
542
|
+
{ key: 'started', label: '開始時間', sortable: true, width: 140, type: 'date', defaultHidden: true },
|
|
539
543
|
]"
|
|
540
544
|
:rows="rows"
|
|
541
545
|
:filter="filter"
|
|
@@ -550,6 +554,7 @@ phone; use `DataGrid` for anything a user searches or arranges.
|
|
|
550
554
|
```
|
|
551
555
|
|
|
552
556
|
- **Column widths.** A column with `width` (px, or a percentage of the grid) keeps it; a column without one is flexible and shares the rest by `flex` (default 1), never below its `minWidth` (default 80px for a flexible column, 40px for a fixed one). A long text cannot widen its column, and a header never wraps. When the minimums do not fit (a phone), the grid scrolls sideways instead of squeezing.
|
|
557
|
+
- **Alignment.** Give a column a `type` instead of aligning it: `text` (the default), `number` (a size, a percentage, a speed, a count, a duration), `date`, or `actions` (a row of icon buttons). As in DSM's own grids (File Station, Drive, Resource Monitor, Container Manager), every column sits left, its header with it; `number` and `date` give their digits one width so they line up down the column, and `actions` lays its buttons out from the left with one gap, the first icon under the header's text (put the `IconButton`s straight in the `#cell-<key>` slot). The selection checkbox is centred. A `—` placeholder sits where the column's values do. `align` still overrides the type. `DataTable` takes the same `type`.
|
|
553
558
|
- **Long text.** A plain cell is cut to one line with an ellipsis and shows its full text on hover (`title`); `wrap: true` wraps a column instead. A `#cell-<key>` slot renders its own content: `CellText` cuts and titles it the same way. Every body cell, a slot's included, carries `data-column="<key>"`.
|
|
554
559
|
- **Row height.** Rows are one height (28px, 24px compact). `CellStatus` with a running `progress` fits it (a 4px bar under the label); its `detail` adds a line, so put speed or a reason in its own column. Dates: `formatDateTime(value, { locale, style: 'compact' })` in the cell (this year: `10/17 14:32`, `Oct 17, 2:32 PM`; another year: the date with its year, `2025/3/2`, `Mar 2, 2025`) and the full `formatDateTime(value, { locale })` as its `title`; it fits a 140px column in every built-in locale.
|
|
555
560
|
- **Folders and status reasons.** Show a folder in a cell with `PathDisplay display="name"`: the folder icon and the last segment of the path on one unframed line (`/volume1/downloads/` reads `downloads`), cut at its end, the whole path as its `title` and read to a screen reader ("Path: …", nine locales); the copy button still copies the whole path. The default `display="path"` is the framed full path for forms. Give `CellStatus` a `description` to explain a status (why it failed, how to resume): the label opens it in a `Tooltip` on hover or keyboard focus (it becomes a Tab stop with a focus ring) and drops its own `title`, so two tooltips never stack; without one the cell is unchanged.
|
|
@@ -6,6 +6,12 @@ type __VLS_Props = {
|
|
|
6
6
|
* anywhere in the viewport. Set it only inside a DSM window.
|
|
7
7
|
*/
|
|
8
8
|
dialogBounds?: 'app' | 'viewport';
|
|
9
|
+
/**
|
|
10
|
+
* The app's own accent (`#rrggbb` or `rgb()`), drawn on selection, focus and
|
|
11
|
+
* main actions in place of DSM blue. Leave it unset to look like DSM's own
|
|
12
|
+
* apps; set it only for a colour that belongs to the app.
|
|
13
|
+
*/
|
|
14
|
+
accent?: string;
|
|
9
15
|
};
|
|
10
16
|
declare var __VLS_7: {}, __VLS_9: {};
|
|
11
17
|
type __VLS_Slots = {} & {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DataGridLabels } from './labels';
|
|
2
|
+
import { TableColumnAlign, TableColumnType } from './columnType';
|
|
2
3
|
export type DataGridSort = {
|
|
3
4
|
key: string;
|
|
4
5
|
direction: 'asc' | 'desc';
|
|
@@ -28,7 +29,10 @@ export type DataGridColumn = {
|
|
|
28
29
|
searchable?: boolean;
|
|
29
30
|
/** The text the quick filter searches for a row; defaults to the cell value. */
|
|
30
31
|
searchText?: (row: Record<string, unknown>) => string;
|
|
31
|
-
|
|
32
|
+
/** What the column holds; sets its alignment (see TableColumnType). Defaults to `text`. */
|
|
33
|
+
type?: TableColumnType;
|
|
34
|
+
/** Overrides the alignment the type sets. */
|
|
35
|
+
align?: TableColumnAlign;
|
|
32
36
|
sortable?: boolean;
|
|
33
37
|
/** Overrides the grid's `resizable` for this column. */
|
|
34
38
|
resizable?: boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a table column holds; it sets the column's alignment, so an App does
|
|
3
|
+
* not tune each column. As in DSM's own grids (File Station, Drive, Resource
|
|
4
|
+
* Monitor, Container Manager) every column sits left, numbers and dates too:
|
|
5
|
+
* `number` (a size, a percentage, a speed, a count, a duration) and `date`
|
|
6
|
+
* give their digits one width so they line up down the column; `actions`
|
|
7
|
+
* lays out its buttons in a row from the left edge, under the header's text.
|
|
8
|
+
*/
|
|
9
|
+
export type TableColumnType = 'text' | 'number' | 'date' | 'actions';
|
|
10
|
+
export type TableColumnAlign = 'left' | 'center' | 'right';
|
|
11
|
+
type TypedColumn = {
|
|
12
|
+
type?: TableColumnType;
|
|
13
|
+
align?: TableColumnAlign;
|
|
14
|
+
};
|
|
15
|
+
/** `align` overrides the type, for a column DSM itself aligns otherwise. */
|
|
16
|
+
export declare function columnAlignClass(column: TypedColumn): "text-right" | "text-center" | "text-left";
|
|
17
|
+
export declare function columnHasTabularDigits(column: TypedColumn): boolean;
|
|
18
|
+
export declare const ACTIONS_CELL_CLASS = "-ml-1 flex items-center justify-start gap-1";
|
|
19
|
+
export {};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { TableColumnAlign, TableColumnType } from '../data-grid/columnType';
|
|
1
2
|
export type DataTableColumn = {
|
|
2
3
|
key: string;
|
|
3
4
|
label: string;
|
|
4
5
|
width?: string;
|
|
5
|
-
|
|
6
|
+
/** What the column holds; sets its alignment (see TableColumnType). Defaults to `text`. */
|
|
7
|
+
type?: TableColumnType;
|
|
8
|
+
/** Overrides the alignment the type sets. */
|
|
9
|
+
align?: TableColumnAlign;
|
|
6
10
|
};
|
|
7
11
|
type __VLS_Props = {
|
|
8
12
|
columns: DataTableColumn[];
|
|
@@ -21,11 +25,17 @@ declare var __VLS_2: `cell-${string}`, __VLS_3: {
|
|
|
21
25
|
row: Record<string, unknown>;
|
|
22
26
|
value: unknown;
|
|
23
27
|
column: DataTableColumn;
|
|
28
|
+
}, __VLS_16: `cell-${string}`, __VLS_17: {
|
|
29
|
+
row: Record<string, unknown>;
|
|
30
|
+
value: unknown;
|
|
31
|
+
column: DataTableColumn;
|
|
24
32
|
};
|
|
25
33
|
type __VLS_Slots = {} & {
|
|
26
34
|
[K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
|
|
27
35
|
} & {
|
|
28
36
|
[K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
|
|
37
|
+
} & {
|
|
38
|
+
[K in NonNullable<typeof __VLS_16>]?: (props: typeof __VLS_17) => any;
|
|
29
39
|
};
|
|
30
40
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
31
41
|
compact: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -127,6 +127,7 @@ export { default as Statistic } from './components/composite/statistic/Statistic
|
|
|
127
127
|
export type { DataTableColumn } from './components/composite/data-table/DataTable.vue';
|
|
128
128
|
export { default as DataGrid } from './components/composite/data-grid/DataGrid.vue';
|
|
129
129
|
export type { DataGridColumn, DataGridColumnWidths, DataGridLabels, ResolvedDataGridLabels, DataGridSort, DataGridGroup, DataGridExpandable, DataGridDraggable, DataGridReorder, DataGridCellUpdate, DataGridAdapter, DataGridCellSlotProps } from './components/composite/data-grid/DataGrid.vue';
|
|
130
|
+
export type { TableColumnType, TableColumnAlign } from './components/composite/data-grid/columnType';
|
|
130
131
|
export { loadGridState, saveGridState, type DataGridViewState } from './components/composite/data-grid/viewState';
|
|
131
132
|
export { default as TreeView } from './components/composite/tree-view/TreeView.vue';
|
|
132
133
|
export type { TreeNode, TreeViewCheckPayload, TreeViewDraggableConfig, TreeViewPosition, TreeViewReorder } from './components/composite/tree-view/TreeView.vue';
|
|
@@ -176,6 +177,8 @@ export { default as AboutDialog } from './components/composite/about-dialog/Abou
|
|
|
176
177
|
export type { AboutCheckState, AboutVersionInfo } from './components/composite/about-dialog/types';
|
|
177
178
|
export { default as AppRoot } from './components/app/app-root/AppRoot.vue';
|
|
178
179
|
export { APP_ROOT_ATTRIBUTE, APP_ROOT_SELECTOR } from './lib/appRoot';
|
|
180
|
+
export { accentScale, accentStyle } from './lib/accent';
|
|
181
|
+
export type { AccentScale } from './lib/accent';
|
|
179
182
|
export { default as AppLayout } from './components/app/app-layout/AppLayout.vue';
|
|
180
183
|
export { default as ResponsiveView } from './components/app/responsive-view/ResponsiveView.vue';
|
|
181
184
|
export { appPresentationForWidth, MOBILE_LAYOUT_MAX, WEB_LAYOUT_MIN } from './lib/adaptiveLayout';
|