@hanzo/ui 8.27.10 → 8.27.11
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/dist/backends/gui/comparison.cjs +17 -21
- package/dist/backends/gui/comparison.d.ts +4 -5
- package/dist/backends/gui/comparison.d.ts.map +1 -1
- package/dist/backends/gui/comparison.js +18 -22
- package/dist/backends/gui/comparison.js.map +1 -1
- package/dist/backends/gui/crypto-screener.cjs +21 -31
- package/dist/backends/gui/crypto-screener.d.ts +20 -24
- package/dist/backends/gui/crypto-screener.d.ts.map +1 -1
- package/dist/backends/gui/crypto-screener.js +21 -31
- package/dist/backends/gui/crypto-screener.js.map +1 -1
- package/dist/backends/gui/cursor.cjs +15 -18
- package/dist/backends/gui/cursor.d.ts +4 -3
- package/dist/backends/gui/cursor.d.ts.map +1 -1
- package/dist/backends/gui/cursor.js +15 -18
- package/dist/backends/gui/cursor.js.map +1 -1
- package/dist/backends/gui/data-table.cjs +144 -184
- package/dist/backends/gui/data-table.d.ts +64 -44
- package/dist/backends/gui/data-table.d.ts.map +1 -1
- package/dist/backends/gui/data-table.js +146 -152
- package/dist/backends/gui/data-table.js.map +1 -1
- package/dist/backends/gui/dock.cjs +1 -1
- package/dist/backends/gui/dock.d.ts.map +1 -1
- package/dist/backends/gui/dock.js +1 -1
- package/dist/backends/gui/dock.js.map +1 -1
- package/dist/backends/gui/editor.cjs +35 -31
- package/dist/backends/gui/editor.d.ts +11 -11
- package/dist/backends/gui/editor.d.ts.map +1 -1
- package/dist/backends/gui/editor.js +35 -31
- package/dist/backends/gui/editor.js.map +1 -1
- package/dist/backends/gui/field.cjs +132 -0
- package/dist/backends/gui/field.d.ts +74 -0
- package/dist/backends/gui/field.d.ts.map +1 -0
- package/dist/backends/gui/field.js +121 -0
- package/dist/backends/gui/field.js.map +1 -0
- package/dist/backends/gui/gantt.cjs +17 -19
- package/dist/backends/gui/gantt.d.ts +4 -5
- package/dist/backends/gui/gantt.d.ts.map +1 -1
- package/dist/backends/gui/gantt.js +18 -21
- package/dist/backends/gui/gantt.js.map +1 -1
- package/dist/backends/gui/glimpse.cjs +88 -0
- package/dist/backends/gui/glimpse.d.ts +57 -0
- package/dist/backends/gui/glimpse.d.ts.map +1 -0
- package/dist/backends/gui/glimpse.js +81 -0
- package/dist/backends/gui/glimpse.js.map +1 -0
- package/dist/backends/gui/grid-pattern.cjs +119 -0
- package/dist/backends/gui/grid-pattern.d.ts +96 -0
- package/dist/backends/gui/grid-pattern.d.ts.map +1 -0
- package/dist/backends/gui/grid-pattern.js +84 -0
- package/dist/backends/gui/grid-pattern.js.map +1 -0
- package/dist/backends/gui/image-crop.cjs +35 -0
- package/dist/backends/gui/image-crop.d.ts +20 -0
- package/dist/backends/gui/image-crop.d.ts.map +1 -0
- package/dist/backends/gui/image-crop.js +33 -0
- package/dist/backends/gui/image-crop.js.map +1 -0
- package/dist/backends/gui/image-zoom.cjs +58 -0
- package/dist/backends/gui/image-zoom.d.ts +16 -0
- package/dist/backends/gui/image-zoom.d.ts.map +1 -0
- package/dist/backends/gui/image-zoom.js +56 -0
- package/dist/backends/gui/image-zoom.js.map +1 -0
- package/dist/backends/gui/index.cjs +159 -1
- package/dist/backends/gui/index.d.ts +49 -0
- package/dist/backends/gui/index.d.ts.map +1 -1
- package/dist/backends/gui/index.js +49 -0
- package/dist/backends/gui/index.js.map +1 -1
- package/dist/backends/gui/interactive-grid-pattern.cjs +61 -0
- package/dist/backends/gui/interactive-grid-pattern.d.ts +28 -0
- package/dist/backends/gui/interactive-grid-pattern.d.ts.map +1 -0
- package/dist/backends/gui/interactive-grid-pattern.js +26 -0
- package/dist/backends/gui/interactive-grid-pattern.js.map +1 -0
- package/dist/backends/gui/iphone-15-pro.cjs +83 -0
- package/dist/backends/gui/iphone-15-pro.d.ts +16 -0
- package/dist/backends/gui/iphone-15-pro.d.ts.map +1 -0
- package/dist/backends/gui/iphone-15-pro.js +81 -0
- package/dist/backends/gui/iphone-15-pro.js.map +1 -0
- package/dist/backends/gui/item.cjs +154 -0
- package/dist/backends/gui/item.d.ts +72 -0
- package/dist/backends/gui/item.d.ts.map +1 -0
- package/dist/backends/gui/item.js +143 -0
- package/dist/backends/gui/item.js.map +1 -0
- package/dist/backends/gui/kanban.cjs +247 -0
- package/dist/backends/gui/kanban.d.ts +37 -0
- package/dist/backends/gui/kanban.d.ts.map +1 -0
- package/dist/backends/gui/kanban.js +212 -0
- package/dist/backends/gui/kanban.js.map +1 -0
- package/dist/backends/gui/kbd.cjs +45 -0
- package/dist/backends/gui/kbd.d.ts +8 -0
- package/dist/backends/gui/kbd.d.ts.map +1 -0
- package/dist/backends/gui/kbd.js +42 -0
- package/dist/backends/gui/kbd.js.map +1 -0
- package/dist/backends/gui/limelight-nav.cjs +201 -0
- package/dist/backends/gui/limelight-nav.d.ts +20 -0
- package/dist/backends/gui/limelight-nav.d.ts.map +1 -0
- package/dist/backends/gui/limelight-nav.js +166 -0
- package/dist/backends/gui/limelight-nav.js.map +1 -0
- package/dist/backends/gui/list.cjs +26 -0
- package/dist/backends/gui/list.d.ts +15 -0
- package/dist/backends/gui/list.d.ts.map +1 -0
- package/dist/backends/gui/list.js +23 -0
- package/dist/backends/gui/list.js.map +1 -0
- package/dist/backends/gui/macos-dock.cjs +84 -0
- package/dist/backends/gui/macos-dock.d.ts +30 -0
- package/dist/backends/gui/macos-dock.d.ts.map +1 -0
- package/dist/backends/gui/macos-dock.js +82 -0
- package/dist/backends/gui/macos-dock.js.map +1 -0
- package/dist/backends/gui/magnetic.cjs +40 -0
- package/dist/backends/gui/magnetic.d.ts +12 -0
- package/dist/backends/gui/magnetic.d.ts.map +1 -0
- package/dist/backends/gui/magnetic.js +38 -0
- package/dist/backends/gui/magnetic.js.map +1 -0
- package/dist/backends/gui/marquee.cjs +110 -0
- package/dist/backends/gui/marquee.d.ts +44 -0
- package/dist/backends/gui/marquee.d.ts.map +1 -0
- package/dist/backends/gui/marquee.js +75 -0
- package/dist/backends/gui/marquee.js.map +1 -0
- package/dist/backends/gui/menu-dock.cjs +64 -0
- package/dist/backends/gui/menu-dock.d.ts +21 -0
- package/dist/backends/gui/menu-dock.d.ts.map +1 -0
- package/dist/backends/gui/menu-dock.js +62 -0
- package/dist/backends/gui/menu-dock.js.map +1 -0
- package/dist/backends/gui/menubar.cjs +227 -0
- package/dist/backends/gui/menubar.d.ts +106 -0
- package/dist/backends/gui/menubar.d.ts.map +1 -0
- package/dist/backends/gui/menubar.js +177 -0
- package/dist/backends/gui/menubar.js.map +1 -0
- package/dist/backends/gui/message-dock.cjs +111 -0
- package/dist/backends/gui/message-dock.d.ts +22 -0
- package/dist/backends/gui/message-dock.d.ts.map +1 -0
- package/dist/backends/gui/message-dock.js +110 -0
- package/dist/backends/gui/message-dock.js.map +1 -0
- package/dist/backends/gui/mini-calendar.cjs +25 -0
- package/dist/backends/gui/mini-calendar.d.ts +22 -0
- package/dist/backends/gui/mini-calendar.d.ts.map +1 -0
- package/dist/backends/gui/mini-calendar.js +24 -0
- package/dist/backends/gui/mini-calendar.js.map +1 -0
- package/dist/backends/gui/minimal-tiptap.cjs +56 -0
- package/dist/backends/gui/minimal-tiptap.d.ts +20 -0
- package/dist/backends/gui/minimal-tiptap.d.ts.map +1 -0
- package/dist/backends/gui/minimal-tiptap.js +21 -0
- package/dist/backends/gui/minimal-tiptap.js.map +1 -0
- package/dist/backends/gui/motion-highlight.cjs +83 -0
- package/dist/backends/gui/motion-highlight.d.ts +27 -0
- package/dist/backends/gui/motion-highlight.d.ts.map +1 -0
- package/dist/backends/gui/motion-highlight.js +48 -0
- package/dist/backends/gui/motion-highlight.js.map +1 -0
- package/dist/backends/gui/navigation-bar.cjs +47 -0
- package/dist/backends/gui/navigation-bar.d.ts +48 -0
- package/dist/backends/gui/navigation-bar.d.ts.map +1 -0
- package/dist/backends/gui/navigation-bar.js +45 -0
- package/dist/backends/gui/navigation-bar.js.map +1 -0
- package/dist/backends/gui/news-timeline.cjs +47 -0
- package/dist/backends/gui/news-timeline.d.ts +39 -0
- package/dist/backends/gui/news-timeline.d.ts.map +1 -0
- package/dist/backends/gui/news-timeline.js +45 -0
- package/dist/backends/gui/news-timeline.js.map +1 -0
- package/dist/backends/gui/order-entry.cjs +53 -0
- package/dist/backends/gui/order-entry.d.ts +21 -0
- package/dist/backends/gui/order-entry.d.ts.map +1 -0
- package/dist/backends/gui/order-entry.js +52 -0
- package/dist/backends/gui/order-entry.js.map +1 -0
- package/dist/backends/gui/orders-history.cjs +102 -0
- package/dist/backends/gui/orders-history.d.ts +24 -0
- package/dist/backends/gui/orders-history.d.ts.map +1 -0
- package/dist/backends/gui/orders-history.js +67 -0
- package/dist/backends/gui/orders-history.js.map +1 -0
- package/dist/backends/gui/pagination.cjs +51 -0
- package/dist/backends/gui/pagination.d.ts +52 -0
- package/dist/backends/gui/pagination.d.ts.map +1 -0
- package/dist/backends/gui/pagination.js +42 -0
- package/dist/backends/gui/pagination.js.map +1 -0
- package/dist/backends/gui/particles-background.cjs +135 -0
- package/dist/backends/gui/particles-background.d.ts +24 -0
- package/dist/backends/gui/particles-background.d.ts.map +1 -0
- package/dist/backends/gui/particles-background.js +133 -0
- package/dist/backends/gui/particles-background.js.map +1 -0
- package/dist/backends/gui/particles.cjs +145 -0
- package/dist/backends/gui/particles.d.ts +25 -0
- package/dist/backends/gui/particles.d.ts.map +1 -0
- package/dist/backends/gui/particles.js +143 -0
- package/dist/backends/gui/particles.js.map +1 -0
- package/dist/backends/gui/pill.cjs +82 -0
- package/dist/backends/gui/pill.d.ts +12 -0
- package/dist/backends/gui/pill.d.ts.map +1 -0
- package/dist/backends/gui/pill.js +78 -0
- package/dist/backends/gui/pill.js.map +1 -0
- package/dist/backends/gui/pin-list.cjs +82 -0
- package/dist/backends/gui/pin-list.d.ts +42 -0
- package/dist/backends/gui/pin-list.d.ts.map +1 -0
- package/dist/backends/gui/pin-list.js +80 -0
- package/dist/backends/gui/pin-list.js.map +1 -0
- package/dist/backends/gui/pixel-image.cjs +63 -0
- package/dist/backends/gui/pixel-image.d.ts +21 -0
- package/dist/backends/gui/pixel-image.d.ts.map +1 -0
- package/dist/backends/gui/pixel-image.js +61 -0
- package/dist/backends/gui/pixel-image.js.map +1 -0
- package/dist/backends/gui/positions-list.cjs +60 -0
- package/dist/backends/gui/positions-list.d.ts +14 -0
- package/dist/backends/gui/positions-list.d.ts.map +1 -0
- package/dist/backends/gui/positions-list.js +58 -0
- package/dist/backends/gui/positions-list.js.map +1 -0
- package/dist/backends/gui/qr-code.cjs +438 -0
- package/dist/backends/gui/qr-code.d.ts +42 -0
- package/dist/backends/gui/qr-code.d.ts.map +1 -0
- package/dist/backends/gui/qr-code.js +402 -0
- package/dist/backends/gui/qr-code.js.map +1 -0
- package/dist/backends/gui/relative-time.cjs +167 -0
- package/dist/backends/gui/relative-time.d.ts +10 -0
- package/dist/backends/gui/relative-time.d.ts.map +1 -0
- package/dist/backends/gui/relative-time.js +132 -0
- package/dist/backends/gui/relative-time.js.map +1 -0
- package/dist/backends/gui/safari.cjs +65 -0
- package/dist/backends/gui/safari.d.ts +23 -0
- package/dist/backends/gui/safari.d.ts.map +1 -0
- package/dist/backends/gui/safari.js +63 -0
- package/dist/backends/gui/safari.js.map +1 -0
- package/dist/backends/gui/snippet.cjs +144 -0
- package/dist/backends/gui/snippet.d.ts +38 -0
- package/dist/backends/gui/snippet.d.ts.map +1 -0
- package/dist/backends/gui/snippet.js +141 -0
- package/dist/backends/gui/snippet.js.map +1 -0
- package/dist/backends/gui/stars-scrolling-wheel.cjs +106 -0
- package/dist/backends/gui/stars-scrolling-wheel.d.ts +24 -0
- package/dist/backends/gui/stars-scrolling-wheel.d.ts.map +1 -0
- package/dist/backends/gui/stars-scrolling-wheel.js +104 -0
- package/dist/backends/gui/stars-scrolling-wheel.js.map +1 -0
- package/dist/backends/gui/status.cjs +79 -0
- package/dist/backends/gui/status.d.ts +15 -0
- package/dist/backends/gui/status.d.ts.map +1 -0
- package/dist/backends/gui/status.js +77 -0
- package/dist/backends/gui/status.js.map +1 -0
- package/dist/backends/gui/stock-market.cjs +21 -0
- package/dist/backends/gui/stock-market.d.ts +17 -0
- package/dist/backends/gui/stock-market.d.ts.map +1 -0
- package/dist/backends/gui/stock-market.js +19 -0
- package/dist/backends/gui/stock-market.js.map +1 -0
- package/dist/backends/gui/stock-screener.cjs +55 -0
- package/dist/backends/gui/stock-screener.d.ts +41 -0
- package/dist/backends/gui/stock-screener.d.ts.map +1 -0
- package/dist/backends/gui/stock-screener.js +53 -0
- package/dist/backends/gui/stock-screener.js.map +1 -0
- package/dist/backends/gui/symbol-info.cjs +46 -0
- package/dist/backends/gui/symbol-info.d.ts +36 -0
- package/dist/backends/gui/symbol-info.d.ts.map +1 -0
- package/dist/backends/gui/symbol-info.js +44 -0
- package/dist/backends/gui/symbol-info.js.map +1 -0
- package/dist/backends/gui/table.cjs +104 -0
- package/dist/backends/gui/table.d.ts +57 -0
- package/dist/backends/gui/table.d.ts.map +1 -0
- package/dist/backends/gui/table.js +95 -0
- package/dist/backends/gui/table.js.map +1 -0
- package/dist/backends/gui/tags.cjs +22 -0
- package/dist/backends/gui/tags.d.ts +22 -0
- package/dist/backends/gui/tags.d.ts.map +1 -0
- package/dist/backends/gui/tags.js +20 -0
- package/dist/backends/gui/tags.js.map +1 -0
- package/dist/backends/gui/technical-analysis.cjs +58 -0
- package/dist/backends/gui/technical-analysis.d.ts +41 -0
- package/dist/backends/gui/technical-analysis.d.ts.map +1 -0
- package/dist/backends/gui/technical-analysis.js +56 -0
- package/dist/backends/gui/technical-analysis.js.map +1 -0
- package/dist/backends/gui/terminal.cjs +266 -0
- package/dist/backends/gui/terminal.d.ts +38 -0
- package/dist/backends/gui/terminal.d.ts.map +1 -0
- package/dist/backends/gui/terminal.js +231 -0
- package/dist/backends/gui/terminal.js.map +1 -0
- package/dist/backends/gui/ticker.cjs +79 -0
- package/dist/backends/gui/ticker.d.ts +19 -0
- package/dist/backends/gui/ticker.d.ts.map +1 -0
- package/dist/backends/gui/ticker.js +44 -0
- package/dist/backends/gui/ticker.js.map +1 -0
- package/dist/backends/gui/timeline.cjs +154 -0
- package/dist/backends/gui/timeline.d.ts +42 -0
- package/dist/backends/gui/timeline.d.ts.map +1 -0
- package/dist/backends/gui/timeline.js +118 -0
- package/dist/backends/gui/timeline.js.map +1 -0
- package/dist/backends/gui/toggle.cjs +96 -0
- package/dist/backends/gui/toggle.d.ts +29 -0
- package/dist/backends/gui/toggle.d.ts.map +1 -0
- package/dist/backends/gui/toggle.js +95 -0
- package/dist/backends/gui/toggle.js.map +1 -0
- package/dist/backends/gui/video-player.cjs +383 -0
- package/dist/backends/gui/video-player.d.ts +54 -0
- package/dist/backends/gui/video-player.d.ts.map +1 -0
- package/dist/backends/gui/video-player.js +348 -0
- package/dist/backends/gui/video-player.js.map +1 -0
- package/dist/chat/Composer.cjs +10 -10
- package/dist/chat/Composer.d.ts +16 -17
- package/dist/chat/Composer.d.ts.map +1 -1
- package/dist/chat/Composer.js +11 -11
- package/dist/chat/Composer.js.map +1 -1
- package/dist/gallery.cjs +180 -1
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +391 -3
- package/dist/gallery.js +181 -2
- package/dist/gallery.js.map +1 -1
- package/dist/index.cjs +110 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +110 -1
- package/dist/index.node.js +1 -1
- package/dist/styles.css +356 -0
- package/package.json +1 -1
|
@@ -1,175 +1,169 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
/**
|
|
4
|
-
* DataTable — a
|
|
5
|
-
*
|
|
4
|
+
* DataTable — a sortable, filterable, paginated grid over an array of rows,
|
|
5
|
+
* driven by a column-definition array exactly the way the upstream guide's
|
|
6
|
+
* `ColumnDef[]` is: a column names an `accessorKey`, an optional `header` and
|
|
7
|
+
* `cell` renderer, and whether it can be sorted or hidden. Two ids carry
|
|
8
|
+
* meaning by convention, matched by the reference implementation's own demo —
|
|
9
|
+
* a column `id: 'select'` gets its checkbox for free, everything else (an
|
|
10
|
+
* `id: 'actions'` column included) is rendered by whatever `cell` you give it.
|
|
6
11
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* selection survives a sort or a filter.
|
|
12
|
+
* There is no TanStack Table here: the workspace does not carry it, and a
|
|
13
|
+
* generic column model over a plain array needs none of what a headless
|
|
14
|
+
* library buys a real backend — grouping, virtualization, server-side
|
|
15
|
+
* pagination. Sorting, filtering, visibility, selection and pagination are
|
|
16
|
+
* ~120 lines of arithmetic over arrays, kept in one `useState` each, matching
|
|
17
|
+
* the guide's own `SortingState`/`ColumnFiltersState`/`VisibilityState` split.
|
|
14
18
|
*
|
|
15
|
-
* The grid is
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* into a real accessible row.
|
|
19
|
+
* The grid is `@hanzo/ui`'s own `Grid`/`Cell` — a real CSS grid, which is the
|
|
20
|
+
* one correct host for a two-dimensional layout — with the WAI-ARIA
|
|
21
|
+
* `table`/`row`/`columnheader`/`cell` roles standing in for the semantics a
|
|
22
|
+
* native `<table>` would otherwise carry.
|
|
20
23
|
*/
|
|
21
24
|
import { SizableText, XStack, YStack } from '@hanzo/gui';
|
|
22
|
-
import {
|
|
23
|
-
import
|
|
25
|
+
import { ArrowDown, ArrowUp, ArrowUpDown, ChevronDown } from '@hanzogui/lucide-icons-2';
|
|
26
|
+
import { useMemo, useState } from 'react';
|
|
24
27
|
import { Cell, Grid } from '../../grid.js';
|
|
25
28
|
import { Button } from './button.js';
|
|
26
29
|
import { Checkbox } from './checkbox.js';
|
|
27
30
|
import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuTrigger, } from './dropdown-menu.js';
|
|
31
|
+
import { ink } from './ink.js';
|
|
28
32
|
import { Input } from './input.js';
|
|
29
33
|
import { slot } from './slot.js';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return
|
|
34
|
+
/**
|
|
35
|
+
* A column's header cell: plain text when the column cannot sort, otherwise a
|
|
36
|
+
* button that toggles ascending/descending and shows which way it is set —
|
|
37
|
+
* the same affordance the reference `data-table-demo.tsx` wires up by hand.
|
|
38
|
+
*/
|
|
39
|
+
function DataTableColumnHeader({ column, title, className }) {
|
|
40
|
+
if (!column.getCanSort())
|
|
41
|
+
return (_jsx(SizableText, { size: "$2", fontWeight: "600", color: "$quiet", className: className, children: title }));
|
|
42
|
+
const sorted = column.getIsSorted();
|
|
43
|
+
return (_jsxs(Button, { ...slot('data-table-column-header'), variant: "ghost", size: "sm", className: className, onClick: () => column.toggleSorting(sorted === 'asc'), children: [title, sorted === 'desc' ? _jsx(ArrowDown, { size: 14 }) : sorted === 'asc' ? _jsx(ArrowUp, { size: 14 }) : _jsx(ArrowUpDown, { size: 14 })] }));
|
|
44
|
+
}
|
|
45
|
+
const cellValue = (column, row) => column.accessorKey !== undefined ? row[column.accessorKey] : undefined;
|
|
46
|
+
const sortKey = (column, row) => {
|
|
47
|
+
if (column.sortingValue)
|
|
48
|
+
return column.sortingValue(row);
|
|
49
|
+
const v = cellValue(column, row);
|
|
50
|
+
return typeof v === 'number' ? v : String(v ?? '');
|
|
40
51
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const [
|
|
46
|
-
const [
|
|
47
|
-
const [
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
});
|
|
57
|
-
}, [
|
|
58
|
-
const sorted =
|
|
52
|
+
const filterText = (column, row) => column.filterValue ? column.filterValue(row) : String(cellValue(column, row) ?? '');
|
|
53
|
+
const track = (width) => width === undefined ? '1fr' : typeof width === 'number' ? `${width}px` : width;
|
|
54
|
+
const justify = (a) => a === 'right' ? 'flex-end' : a === 'center' ? 'center' : 'flex-start';
|
|
55
|
+
function DataTable({ columns, data, getRowId, filterColumnId, filterPlaceholder = 'Filter…', pageSize = 0, emptyMessage = 'No results.', onRowSelectionChange, }) {
|
|
56
|
+
const [sorting, setSorting] = useState(null);
|
|
57
|
+
const [filter, setFilter] = useState('');
|
|
58
|
+
const [hidden, setHidden] = useState({});
|
|
59
|
+
const [selected, setSelected] = useState({});
|
|
60
|
+
const [pageIndex, setPageIndex] = useState(0);
|
|
61
|
+
const withIds = useMemo(() => data.map((row, i) => ({ row, id: getRowId ? getRowId(row, i) : String(i) })), [data, getRowId]);
|
|
62
|
+
const filterColumn = filterColumnId ? columns.find((c) => c.id === filterColumnId) : undefined;
|
|
63
|
+
const filtered = useMemo(() => {
|
|
64
|
+
if (!filterColumn || filter.trim() === '')
|
|
65
|
+
return withIds;
|
|
66
|
+
const needle = filter.toLowerCase();
|
|
67
|
+
return withIds.filter(({ row }) => filterText(filterColumn, row).toLowerCase().includes(needle));
|
|
68
|
+
}, [withIds, filterColumn, filter]);
|
|
69
|
+
const sorted = useMemo(() => {
|
|
59
70
|
if (!sorting)
|
|
60
71
|
return filtered;
|
|
61
|
-
const
|
|
62
|
-
if (!
|
|
72
|
+
const column = columns.find((c) => c.id === sorting.id);
|
|
73
|
+
if (!column)
|
|
63
74
|
return filtered;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
})
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
const
|
|
110
|
-
|
|
75
|
+
const keyed = filtered.map((entry) => ({ entry, key: sortKey(column, entry.row) }));
|
|
76
|
+
keyed.sort((a, b) => (a.key < b.key ? -1 : a.key > b.key ? 1 : 0));
|
|
77
|
+
if (sorting.desc)
|
|
78
|
+
keyed.reverse();
|
|
79
|
+
return keyed.map((k) => k.entry);
|
|
80
|
+
}, [filtered, columns, sorting]);
|
|
81
|
+
const pageCount = pageSize > 0 ? Math.max(1, Math.ceil(sorted.length / pageSize)) : 1;
|
|
82
|
+
const paged = pageSize > 0 ? sorted.slice(pageIndex * pageSize, pageIndex * pageSize + pageSize) : sorted;
|
|
83
|
+
const visibleColumns = columns.filter((c) => hidden[c.id] !== true);
|
|
84
|
+
const hideable = columns.filter((c) => c.enableHiding !== false);
|
|
85
|
+
const setSelectedFor = (id, value) => {
|
|
86
|
+
const next = { ...selected, [id]: value };
|
|
87
|
+
setSelected(next);
|
|
88
|
+
onRowSelectionChange?.(withIds.filter((e) => next[e.id]).map((e) => e.row));
|
|
89
|
+
};
|
|
90
|
+
const toggleAllPage = (value) => {
|
|
91
|
+
const next = { ...selected };
|
|
92
|
+
for (const entry of paged)
|
|
93
|
+
next[entry.id] = value;
|
|
94
|
+
setSelected(next);
|
|
95
|
+
onRowSelectionChange?.(withIds.filter((e) => next[e.id]).map((e) => e.row));
|
|
96
|
+
};
|
|
97
|
+
const rowApi = (entry) => ({
|
|
98
|
+
id: entry.id,
|
|
99
|
+
original: entry.row,
|
|
100
|
+
getValue: (columnId) => {
|
|
101
|
+
const column = columns.find((c) => c.id === columnId);
|
|
102
|
+
return column ? cellValue(column, entry.row) : undefined;
|
|
103
|
+
},
|
|
104
|
+
getIsSelected: () => selected[entry.id] === true,
|
|
105
|
+
toggleSelected: (value) => setSelectedFor(entry.id, value ?? !selected[entry.id]),
|
|
106
|
+
});
|
|
107
|
+
const columnApi = (column) => ({
|
|
108
|
+
id: column.id,
|
|
109
|
+
getCanSort: () => column.enableSorting !== false,
|
|
110
|
+
getIsSorted: () => (sorting?.id === column.id ? (sorting.desc ? 'desc' : 'asc') : false),
|
|
111
|
+
toggleSorting: (desc = false) => {
|
|
112
|
+
if (column.enableSorting === false)
|
|
113
|
+
return;
|
|
114
|
+
setSorting({ id: column.id, desc });
|
|
115
|
+
},
|
|
116
|
+
getCanHide: () => column.enableHiding !== false,
|
|
117
|
+
getIsVisible: () => hidden[column.id] !== true,
|
|
118
|
+
toggleVisibility: (visible) => setHidden((h) => ({ ...h, [column.id]: visible === undefined ? h[column.id] !== true : !visible })),
|
|
119
|
+
});
|
|
120
|
+
const pageIds = paged.map((e) => e.id);
|
|
121
|
+
const allPageSelected = pageIds.length > 0 && pageIds.every((id) => selected[id]);
|
|
122
|
+
const somePageSelected = pageIds.some((id) => selected[id]);
|
|
123
|
+
const table = {
|
|
111
124
|
getColumn: (id) => {
|
|
112
|
-
const
|
|
113
|
-
return
|
|
125
|
+
const column = columns.find((c) => c.id === id);
|
|
126
|
+
return column ? columnApi(column) : undefined;
|
|
114
127
|
},
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return out;
|
|
125
|
-
}),
|
|
126
|
-
getFilteredRowModel: () => ({ rows: sorted.map(({ original, index }) => makeRow(index, original)) }),
|
|
127
|
-
getFilteredSelectedRowModel: () => ({
|
|
128
|
-
rows: sorted.filter(({ index }) => selected[String(index)] === true).map(({ original, index }) => makeRow(index, original)),
|
|
129
|
-
}),
|
|
128
|
+
getAllColumns: () => columns.map(columnApi),
|
|
129
|
+
getRowModel: () => ({ rows: paged.map(rowApi) }),
|
|
130
|
+
getFilteredRowModel: () => ({ rows: filtered.map(rowApi) }),
|
|
131
|
+
getFilteredSelectedRowModel: () => ({ rows: filtered.filter((e) => selected[e.id]).map(rowApi) }),
|
|
132
|
+
getIsAllPageRowsSelected: () => allPageSelected,
|
|
133
|
+
getIsSomePageRowsSelected: () => somePageSelected,
|
|
134
|
+
toggleAllPageRowsSelected: (value) => toggleAllPage(value ?? !allPageSelected),
|
|
135
|
+
getCanPreviousPage: () => pageIndex > 0,
|
|
136
|
+
getCanNextPage: () => pageIndex < pageCount - 1,
|
|
130
137
|
previousPage: () => setPageIndex((p) => Math.max(0, p - 1)),
|
|
131
138
|
nextPage: () => setPageIndex((p) => Math.min(pageCount - 1, p + 1)),
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return (_jsx(Cell, { role: "cell", style: {
|
|
161
|
-
padding: 12,
|
|
162
|
-
borderBottom: isLastRow ? undefined : '1px solid var(--edge)',
|
|
163
|
-
textAlign: align(col.def.align),
|
|
164
|
-
background: isSelected ? 'var(--hover)' : undefined,
|
|
165
|
-
}, ...slot('data-table-cell'), children: content }, col.id));
|
|
166
|
-
}) }, row.id));
|
|
167
|
-
})) : (_jsx("div", { role: "row", style: { display: 'contents' }, children: _jsx(Cell, { col: visible.length || 1, role: "cell", style: { padding: 24, textAlign: 'center' }, ...slot('data-table-empty'), children: _jsx(SizableText, { color: "$quiet", children: emptyMessage }) }) }))] }) }), (hasSelectColumn || paginate) && (_jsxs(XStack, { items: "center", justify: "space-between", gap: "$3", ...slot('data-table-pagination'), children: [_jsx(SizableText, { fontSize: "$1", color: "$quiet", children: hasSelectColumn ? `${selectedCount} of ${totalCount} row(s) selected.` : '' }), paginate && (_jsxs(XStack, { gap: "$2", children: [_jsx(Button, { variant: "outline", size: "sm", disabled: !instance.getCanPreviousPage(), onPress: instance.previousPage, children: "Previous" }), _jsx(Button, { variant: "outline", size: "sm", disabled: !instance.getCanNextPage(), onPress: instance.nextPage, children: "Next" })] }))] }))] }));
|
|
168
|
-
}
|
|
169
|
-
/** A sortable header cell: a ghost button whose icon shows the active direction. */
|
|
170
|
-
export function DataTableColumnHeader({ column, title }) {
|
|
171
|
-
const direction = column.getIsSorted();
|
|
172
|
-
const Icon = direction === 'asc' ? ChevronUp : direction === 'desc' ? ChevronDown : ChevronsUpDown;
|
|
173
|
-
return (_jsxs(Button, { variant: "ghost", size: "sm", onPress: () => column.toggleSorting(direction === 'asc'), ...slot('data-table-column-header'), children: [title, _jsx(Icon, { size: 14 })] }));
|
|
139
|
+
getPageCount: () => pageCount,
|
|
140
|
+
};
|
|
141
|
+
const selectedCount = table.getFilteredSelectedRowModel().rows.length;
|
|
142
|
+
const filteredCount = table.getFilteredRowModel().rows.length;
|
|
143
|
+
const trackList = visibleColumns.map((c) => track(c.width)).join(' ');
|
|
144
|
+
const headerContent = (column) => {
|
|
145
|
+
if (column.id === 'select')
|
|
146
|
+
return (_jsx(Checkbox, { "aria-label": "Select all", checked: allPageSelected ? true : somePageSelected ? 'indeterminate' : false, onCheckedChange: (value) => toggleAllPage(!!value) }));
|
|
147
|
+
if (typeof column.header === 'function')
|
|
148
|
+
return column.header({ column: columnApi(column) });
|
|
149
|
+
return ink(column.header ?? column.id, SizableText, { size: '$2', fontWeight: '600', color: '$quiet' });
|
|
150
|
+
};
|
|
151
|
+
const cellContent = (column, entry) => {
|
|
152
|
+
if (column.id === 'select')
|
|
153
|
+
return (_jsx(Checkbox, { "aria-label": "Select row", checked: selected[entry.id] === true, onCheckedChange: (value) => setSelectedFor(entry.id, !!value) }));
|
|
154
|
+
if (column.cell)
|
|
155
|
+
return column.cell({ row: rowApi(entry) });
|
|
156
|
+
return ink(String(cellValue(column, entry.row) ?? ''), SizableText, { size: '$2' });
|
|
157
|
+
};
|
|
158
|
+
const ariaSort = (column) => {
|
|
159
|
+
if (sorting?.id !== column.id)
|
|
160
|
+
return 'none';
|
|
161
|
+
return sorting.desc ? 'descending' : 'ascending';
|
|
162
|
+
};
|
|
163
|
+
return (_jsxs(YStack, { ...slot('data-table'), width: "100%", gap: "$3", children: [(filterColumnId || hideable.length > 0) && (_jsxs(XStack, { ...slot('data-table-toolbar'), items: "center", gap: "$2", children: [filterColumnId && (_jsx(Input, { ...slot('data-table-filter'), placeholder: filterPlaceholder, value: filter, onChangeText: setFilter, maxW: 360, width: "100%" })), hideable.length > 0 && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { ...slot('data-table-view-options'), variant: "outline", size: "sm", ml: "auto", children: ["Columns", _jsx(ChevronDown, { size: 14 })] }) }), _jsx(DropdownMenuContent, { align: "end", children: hideable.map((column) => (_jsx(DropdownMenuCheckboxItem, { checked: hidden[column.id] !== true, onCheckedChange: (value) => setHidden((h) => ({ ...h, [column.id]: !value })), children: column.id }, column.id))) })] }))] })), _jsxs(YStack, { ...slot('data-table-grid'), role: "table", rounded: "$3", borderWidth: 1, borderColor: "$borderColor", overflow: "hidden", children: [_jsx(YStack, { borderBottomWidth: 1, borderBottomColor: "$borderColor", bg: "$panel", children: _jsx(Grid, { role: "row", ...slot('data-table-header-row'), columns: trackList, gap: 0, children: visibleColumns.map((column) => (_jsx(Cell, { role: "columnheader", "aria-sort": ariaSort(column), ...slot('data-table-head'), style: { display: 'flex', alignItems: 'center', padding: 12, justifyContent: justify(column.align) }, children: headerContent(column) }, column.id))) }) }), paged.length === 0 ? (_jsx(YStack, { ...slot('data-table-empty'), height: 96, items: "center", justify: "center", children: _jsx(SizableText, { size: "$2", color: "$quiet", children: emptyMessage }) })) : (paged.map((entry) => {
|
|
164
|
+
const isSelected = selected[entry.id] === true;
|
|
165
|
+
return (_jsx(YStack, { "data-state": isSelected ? 'selected' : undefined, borderBottomWidth: 1, borderBottomColor: "$borderColor", bg: isSelected ? '$hover' : undefined, children: _jsx(Grid, { role: "row", ...slot('data-table-row'), "data-state": isSelected ? 'selected' : undefined, columns: trackList, gap: 0, children: visibleColumns.map((column) => (_jsx(Cell, { role: "cell", ...slot('data-table-cell'), style: { display: 'flex', alignItems: 'center', padding: 12, justifyContent: justify(column.align) }, children: cellContent(column, entry) }, column.id))) }) }, entry.id));
|
|
166
|
+
}))] }), _jsxs(XStack, { ...slot('data-table-footer'), items: "center", justify: "space-between", children: [_jsxs(SizableText, { size: "$2", color: "$quiet", children: [selectedCount, " of ", filteredCount, " row(s) selected."] }), pageSize > 0 && (_jsxs(XStack, { ...slot('data-table-pagination'), gap: "$2", children: [_jsx(Button, { variant: "outline", size: "sm", disabled: !table.getCanPreviousPage(), "aria-disabled": !table.getCanPreviousPage(), onClick: () => table.previousPage(), children: "Previous" }), _jsx(Button, { variant: "outline", size: "sm", disabled: !table.getCanNextPage(), "aria-disabled": !table.getCanNextPage(), onClick: () => table.nextPage(), children: "Next" })] }))] })] }));
|
|
174
167
|
}
|
|
168
|
+
export { DataTable, DataTableColumnHeader };
|
|
175
169
|
//# sourceMappingURL=data-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../src/backends/gui/data-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAmE7B,MAAM,OAAO,GAAG,CAAS,GAA8B,EAAmB,EAAE,CAAC,CAAC;IAC5E,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,GAAG;CACJ,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,CACZ,OAA6C,EAC7C,EAAU,EACV,IAAkC,EACI,EAAE;IACxC,IAAI,OAAO,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAQ,EAC/B,OAAO,EACP,IAAI,EACJ,cAAc,EACd,iBAAiB,GAAG,SAAS,EAC7B,QAAQ,GAAG,EAAE,EACb,YAAY,GAAG,aAAa,GACN;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAE5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuC,IAAI,CAAC,CAAA;IACxF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA0B,EAAE,CAAC,CAAA;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA0B,EAAE,CAAC,CAAA;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,cAAc,IAAI,WAAW,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;QACxC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACvC,MAAM,KAAK,GAAI,QAAoC,CAAC,cAAc,CAAC,CAAA;YACnE,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAA;QAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAA;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAA;QAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,GAAI,CAAC,CAAC,QAAoC,CAAC,GAAa,CAAC,CAAA;YACjE,MAAM,EAAE,GAAI,CAAC,CAAC,QAAoC,CAAC,GAAa,CAAC,CAAA;YACjE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAA;YACtC,IAAI,EAAE,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAA;YAC/B,IAAI,EAAE,IAAI,IAAI;gBAAE,OAAO,CAAC,GAAG,GAAG,CAAA;YAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAA;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACnF,CAAC,CAAC,MAAM,CAAA;IAEV,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,GAAoB,EAAsB,EAAE,CAAC,CAAC;QAC7C,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/F,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxE,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK;QAChD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI;QAC3C,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5B,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;YACtC,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YAC/D,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAA;QAC1C,CAAC,CAAC;KACL,CAAC,EACF,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,KAAa,EAAE,QAAe,EAAuB,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO;YACL,EAAE;YACF,QAAQ;YACR,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;gBACnD,OAAO,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAE,QAAoC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAChH,CAAC;YACD,aAAa,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI;YAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SACtF,CAAA;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;IAED,MAAM,QAAQ,GAA6B,KAAK,CAAC,OAAO,CACtD,GAAG,EAAE,CAAC,CAAC;QACL,aAAa,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7C,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1C,CAAC;QACD,wBAAwB,EAAE,GAAG,EAAE,CAC7B,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;QACxF,yBAAyB,EAAE,GAAG,EAAE,CAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;YAC9D,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;QAClE,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;YAC/E,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAA;YACvD,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;YACvB,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ;gBAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAA;YAC3D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC;QACJ,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACpG,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC5H,CAAC;QACF,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,kBAAkB,EAAE,GAAG,EAAE,CAAC,gBAAgB,GAAG,CAAC;QAC9C,cAAc,EAAE,GAAG,EAAE,CAAC,gBAAgB,GAAG,SAAS,GAAG,CAAC;KACvD,CAAC,EACF,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CACzF,CAAA;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,CAAA;IACrE,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IAC/D,MAAM,aAAa,GAAG,QAAQ,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAAC,MAAM,CAAA;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAA;IAE7D,MAAM,KAAK,GAAG,CAAC,CAAqC,EAAE,EAAE,CACtD,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;IAE9D,OAAO,CACL,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,aACjD,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAC1C,MAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,EAAC,GAAG,EAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,aACnF,cAAc,CAAC,CAAC,CAAC,CAChB,KAAC,KAAK,IACJ,WAAW,EAAE,iBAAiB,EAC9B,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,CAAC,KACH,IAAI,CAAC,mBAAmB,CAAC,GAC7B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,GAAI,CACpB,EACA,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,KAAK,IAAI,CAAC,yBAAyB,CAAC,yBAC7D,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,IAC1B,GACW,EACtB,KAAC,mBAAmB,IAAC,KAAK,EAAC,KAAK,YAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oCACpB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;oCAC3B,OAAO,CACL,KAAC,wBAAwB,IAEvB,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,EAC3B,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,YAEjE,GAAG,CAAC,EAAE,IAJF,GAAG,CAAC,EAAE,CAKc,CAC5B,CAAA;gCACH,CAAC,CAAC,GACkB,IACT,CAChB,IACM,CACV,EAED,KAAC,MAAM,IAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAC,cAAc,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,YAC/E,MAAC,IAAI,IAAC,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,OAAO,KAAK,IAAI,CAAC,iBAAiB,CAAC,aAClF,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAM,IAAI,CAAC,uBAAuB,CAAC,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gCACnB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;gCAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAA;gCAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAC5B,KAAC,QAAQ,kBACI,YAAY,EACvB,OAAO,EAAE,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EACpH,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,GAChF,CACH,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACzC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACjD,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACjC,GAAG,CAAC,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,UAAU,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,YACzC,GAAG,CAAC,EAAE,GACK,CACf,CAAA;gCACD,OAAO,CACL,KAAC,IAAI,IAEH,IAAI,EAAC,cAAc,eAEjB,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAElG,KAAK,EAAE;wCACL,OAAO,EAAE,EAAE;wCACX,YAAY,EAAE,uBAAuB;wCACrC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;qCAChC,KACG,IAAI,CAAC,iBAAiB,CAAC,YAE1B,OAAO,IAZH,GAAG,CAAC,EAAE,CAaN,CACR,CAAA;4BACH,CAAC,CAAC,GACE,EAEL,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACjB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE;4BAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;4BACpC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;4BACtC,MAAM,SAAS,GAAG,QAAQ,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;4BAClD,OAAO,CACL,cAEE,IAAI,EAAC,KAAK,gBACE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC/C,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAC1B,IAAI,CAAC,gBAAgB,CAAC,YAEzB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oCACnB,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAA;oCACxD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAC5B,KAAC,QAAQ,kBACI,YAAY,EACvB,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAChE,CACH,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACvC,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,cAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAe,CAChE,CAAA;oCACD,OAAO,CACL,KAAC,IAAI,IAEH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;4CACL,OAAO,EAAE,EAAE;4CACX,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;4CAC7D,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;4CAC/B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;yCACpD,KACG,IAAI,CAAC,iBAAiB,CAAC,YAE1B,OAAO,IAVH,GAAG,CAAC,EAAE,CAWN,CACR,CAAA;gCACH,CAAC,CAAC,IAlCG,GAAG,CAAC,EAAE,CAmCP,CACP,CAAA;wBACH,CAAC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YAC5C,KAAC,IAAI,IACH,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EACxB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KACvC,IAAI,CAAC,kBAAkB,CAAC,YAE5B,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,YAAE,YAAY,GAAe,GACnD,GACH,CACP,IACI,GACA,EAER,CAAC,eAAe,IAAI,QAAQ,CAAC,IAAI,CAChC,MAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,EAAC,GAAG,EAAC,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,aACvF,KAAC,WAAW,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,YACtC,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,OAAO,UAAU,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAChE,EACb,QAAQ,IAAI,CACX,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,aACd,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACxC,OAAO,EAAE,QAAQ,CAAC,YAAY,yBAGvB,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,qBAE3F,IACF,CACV,IACM,CACV,IACM,CACV,CAAA;AACH,CAAC;AAOD,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAA8B;IACjF,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACtC,MAAM,IAAI,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAA;IAClG,OAAO,CACL,MAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,KACpD,IAAI,CAAC,0BAA0B,CAAC,aAEnC,KAAK,EACN,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,IACX,CACV,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../src/backends/gui/data-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -84,7 +84,7 @@ function DockItem({ className, children, onClick, tooltip, magnification: itemMa
|
|
|
84
84
|
setSize(BASE_SIZE);
|
|
85
85
|
setHovered(false);
|
|
86
86
|
};
|
|
87
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('dock-item-wrap'), position: "relative", items: "center", children: [tooltip && hovered ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('dock-tooltip'), position: "absolute", b: "100%", mb: "$2", self: "center", px: "$2", py: "$1", rounded: "$3", bg: "$ink", style: { whiteSpace: 'nowrap' }, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$sunken", children: tooltip }) })) : null, (0, jsx_runtime_1.jsx)(ItemFrame, { ...(0, slot_1.slot)('dock-item'), render: "button", onClick: onClick, onPointerEnter: () => setHovered(true), onPointerMove: handleMove, onPointerLeave: handleLeave, ...(tooltip ? (0, slot_1.tip)(tooltip) : null), ...(0, gesture_1.touch)(BASE_SIZE, 44), style: { width: size, height: size, transition: 'width 150ms ease-out, height 150ms ease-out' }, ...(0, sx_1.sx)(className), ...props, children: (0, ink_1.ink)(children) })] }));
|
|
87
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('dock-item-wrap'), position: "relative", items: "center", children: [tooltip && hovered ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('dock-tooltip'), position: "absolute", b: "100%", mb: "$2", self: "center", px: "$2", py: "$1", rounded: "$3", bg: "$ink", style: { whiteSpace: 'nowrap' }, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$sunken", children: tooltip }) })) : null, (0, jsx_runtime_1.jsx)(ItemFrame, { ...(0, slot_1.slot)('dock-item'), render: "button", ...{ type: 'button' }, onClick: onClick, onPointerEnter: () => setHovered(true), onPointerMove: handleMove, onPointerLeave: handleLeave, ...(tooltip ? (0, slot_1.tip)(tooltip) : null), ...(0, gesture_1.touch)(BASE_SIZE, 44), style: { width: size, height: size, transition: 'width 150ms ease-out, height 150ms ease-out' }, ...(0, sx_1.sx)(className), ...props, children: (0, ink_1.ink)(children) })] }));
|
|
88
88
|
}
|
|
89
89
|
const SeparatorFrame = (0, gui_1.styled)(gui_1.YStack, {
|
|
90
90
|
name: 'DockSeparator',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/dock.tsx"],"names":[],"mappings":"AAeA,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAatD,QAAA,MAAM,KAAK;;;;8CAyBT,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,GAAG;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,QAAmB,EACnB,aAAkB,EAClB,QAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,SAAS,+BAcX;AAED,QAAA,MAAM,SAAS;;;8CAQb,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,YAAY,EACtB,GAAG,KAAK,EACT,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/dock.tsx"],"names":[],"mappings":"AAeA,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAatD,QAAA,MAAM,KAAK;;;;8CAyBT,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,GAAG;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,QAAmB,EACnB,aAAkB,EAClB,QAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,SAAS,+BAcX;AAED,QAAA,MAAM,SAAS;;;8CAQb,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,YAAY,EACtB,GAAG,KAAK,EACT,EAAE,aAAa,+BA4Df;AAED,QAAA,MAAM,cAAc;;;8CAIlB,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAEtE,8EAA8E;AAC9E,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAa/C;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -79,7 +79,7 @@ function DockItem({ className, children, onClick, tooltip, magnification: itemMa
|
|
|
79
79
|
setSize(BASE_SIZE);
|
|
80
80
|
setHovered(false);
|
|
81
81
|
};
|
|
82
|
-
return (_jsxs(YStack, { ...slot('dock-item-wrap'), position: "relative", items: "center", children: [tooltip && hovered ? (_jsx(XStack, { ...slot('dock-tooltip'), position: "absolute", b: "100%", mb: "$2", self: "center", px: "$2", py: "$1", rounded: "$3", bg: "$ink", style: { whiteSpace: 'nowrap' }, children: _jsx(SizableText, { size: "$1", color: "$sunken", children: tooltip }) })) : null, _jsx(ItemFrame, { ...slot('dock-item'), render: "button", onClick: onClick, onPointerEnter: () => setHovered(true), onPointerMove: handleMove, onPointerLeave: handleLeave, ...(tooltip ? tip(tooltip) : null), ...touch(BASE_SIZE, 44), style: { width: size, height: size, transition: 'width 150ms ease-out, height 150ms ease-out' }, ...sx(className), ...props, children: ink(children) })] }));
|
|
82
|
+
return (_jsxs(YStack, { ...slot('dock-item-wrap'), position: "relative", items: "center", children: [tooltip && hovered ? (_jsx(XStack, { ...slot('dock-tooltip'), position: "absolute", b: "100%", mb: "$2", self: "center", px: "$2", py: "$1", rounded: "$3", bg: "$ink", style: { whiteSpace: 'nowrap' }, children: _jsx(SizableText, { size: "$1", color: "$sunken", children: tooltip }) })) : null, _jsx(ItemFrame, { ...slot('dock-item'), render: "button", ...{ type: 'button' }, onClick: onClick, onPointerEnter: () => setHovered(true), onPointerMove: handleMove, onPointerLeave: handleLeave, ...(tooltip ? tip(tooltip) : null), ...touch(BASE_SIZE, 44), style: { width: size, height: size, transition: 'width 150ms ease-out, height 150ms ease-out' }, ...sx(className), ...props, children: ink(children) })] }));
|
|
83
83
|
}
|
|
84
84
|
const SeparatorFrame = styled(YStack, {
|
|
85
85
|
name: 'DockSeparator',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dock.js","sourceRoot":"","sources":["../../../src/backends/gui/dock.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dock.js","sourceRoot":"","sources":["../../../src/backends/gui/dock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,44 +37,48 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.Editor = Editor;
|
|
38
38
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
39
|
/**
|
|
40
|
-
* Editor — a rich-text
|
|
41
|
-
*
|
|
40
|
+
* Editor — a minimal rich-text field: a toolbar of formatting buttons above a
|
|
41
|
+
* `contentEditable` surface.
|
|
42
42
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* `contentEditable`
|
|
46
|
-
*
|
|
47
|
-
*
|
|
43
|
+
* Bold, italic and the two list commands run through the browser's own
|
|
44
|
+
* `document.execCommand`, the one API that turns a toolbar click into a real
|
|
45
|
+
* selection edit inside a `contentEditable` region — there is no gui primitive
|
|
46
|
+
* for rich-text editing, so this wraps that platform primitive in a gui frame
|
|
47
|
+
* the way `CodeEditor` wraps a plain field. The surface is HTML: `value` and
|
|
48
|
+
* `onChange` carry the region's `innerHTML`, matching what the toolbar
|
|
49
|
+
* commands actually produce.
|
|
48
50
|
*/
|
|
49
51
|
const gui_1 = require("@hanzo/gui");
|
|
50
52
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
51
53
|
const React = __importStar(require("react"));
|
|
52
54
|
const button_1 = require("./button.cjs");
|
|
53
55
|
const slot_1 = require("./slot.cjs");
|
|
54
|
-
function Editor({ value, onChange, placeholder = 'Start typing...',
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
function Editor({ value, onChange, placeholder = 'Start typing...', ...props }) {
|
|
57
|
+
const field = React.useRef(null);
|
|
58
|
+
const shown = React.useRef(value);
|
|
59
|
+
const run = (command) => {
|
|
60
|
+
document.execCommand(command, false);
|
|
61
|
+
field.current?.focus();
|
|
62
|
+
};
|
|
63
|
+
const input = () => {
|
|
64
|
+
if (field.current)
|
|
65
|
+
onChange?.(field.current.innerHTML);
|
|
66
|
+
};
|
|
67
|
+
// A controlled `value` is only ever WRITTEN into the region when it changed
|
|
68
|
+
// out from under the caller — writing it on every render would reset the
|
|
69
|
+
// caret to the start on each keystroke, because `innerHTML` replaces the
|
|
70
|
+
// whole subtree rather than patching it.
|
|
60
71
|
React.useEffect(() => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
72
|
+
if (field.current && value !== undefined && value !== shown.current) {
|
|
73
|
+
field.current.innerHTML = value;
|
|
74
|
+
}
|
|
75
|
+
shown.current = value;
|
|
64
76
|
}, [value]);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const command = (name) => () => {
|
|
73
|
-
document.execCommand(name);
|
|
74
|
-
surface.current?.focus();
|
|
75
|
-
report();
|
|
76
|
-
};
|
|
77
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('editor'), gap: "$2", ...props, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('editor-toolbar'), gap: "$1", borderBottomWidth: 1, borderColor: "$borderColor", pb: "$2", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-bold'), variant: "ghost", size: "icon-sm", type: "button", onClick: command('bold'), "aria-label": "Bold", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Bold, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-italic'), variant: "ghost", size: "icon-sm", type: "button", onClick: command('italic'), "aria-label": "Italic", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Italic, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-bullet-list'), variant: "ghost", size: "icon-sm", type: "button", onClick: command('insertUnorderedList'), "aria-label": "Bulleted list", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.List, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-ordered-list'), variant: "ghost", size: "icon-sm", type: "button", onClick: command('insertOrderedList'), "aria-label": "Numbered list", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ListOrdered, { size: 16 }) })] }), (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('editor-surface'), ref: surface,
|
|
78
|
-
// @ts-expect-error — contentEditable is a DOM attribute gui does not type; it forwards unknown props on web and drops them on native
|
|
79
|
-
contentEditable: !readOnly, suppressContentEditableWarning: true, "data-placeholder": placeholder, "data-empty": empty || undefined, minH: 200, borderWidth: 1, borderColor: "$borderColor", rounded: "$3", p: "$4", onInput: report, dangerouslySetInnerHTML: value === undefined ? { __html: '' } : undefined, style: { outline: 'none' } })] }));
|
|
77
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('editor'), gap: "$2", ...props, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('editor-toolbar'), items: "center", gap: "$1", borderBottomWidth: 1, borderColor: "$borderColor", pb: "$2", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-bold'), variant: "ghost", size: "sm", type: "button", onClick: () => run('bold'), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Bold, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-italic'), variant: "ghost", size: "sm", type: "button", onClick: () => run('italic'), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Italic, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-bullet-list'), variant: "ghost", size: "sm", type: "button", onClick: () => run('insertUnorderedList'), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.List, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('editor-ordered-list'), variant: "ghost", size: "sm", type: "button", onClick: () => run('insertOrderedList'), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ListOrdered, { size: 16 }) })] }), (0, jsx_runtime_1.jsx)("div", { ref: field, ...(0, slot_1.slot)('editor-content'), contentEditable: true, onInput: input, "data-placeholder": placeholder, suppressContentEditableWarning: true, dangerouslySetInnerHTML: value === undefined ? undefined : { __html: value }, style: {
|
|
78
|
+
minHeight: 200,
|
|
79
|
+
borderRadius: 8,
|
|
80
|
+
border: '1px solid var(--borderColor)',
|
|
81
|
+
padding: 16,
|
|
82
|
+
outline: 'none',
|
|
83
|
+
} })] }));
|
|
80
84
|
}
|