@monkey-mini-app/dsh-mini-app 0.1.0
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/cordis.patch.yml +6 -0
- package/lib/client.d.cts +35 -0
- package/lib/client.js +5462 -0
- package/lib/index.d.ts +140 -0
- package/lib/index.js +1094 -0
- package/package.json +90 -0
- package/skills/monkey-mini-app/SKILL.md +209 -0
- package/skills/monkey-mini-app/references/catalog.md +99 -0
- package/skills/monkey-mini-app/references/contracts/activity-feed.md +24 -0
- package/skills/monkey-mini-app/references/contracts/app-shell.md +28 -0
- package/skills/monkey-mini-app/references/contracts/attachment-gallery.md +22 -0
- package/skills/monkey-mini-app/references/contracts/autocomplete.md +16 -0
- package/skills/monkey-mini-app/references/contracts/cascader.md +25 -0
- package/skills/monkey-mini-app/references/contracts/code-block.md +15 -0
- package/skills/monkey-mini-app/references/contracts/code-editor.md +17 -0
- package/skills/monkey-mini-app/references/contracts/color-picker.md +14 -0
- package/skills/monkey-mini-app/references/contracts/comment-thread.md +24 -0
- package/skills/monkey-mini-app/references/contracts/confirm-dialog.md +19 -0
- package/skills/monkey-mini-app/references/contracts/copyable.md +13 -0
- package/skills/monkey-mini-app/references/contracts/currency-input.md +15 -0
- package/skills/monkey-mini-app/references/contracts/data-grid.md +87 -0
- package/skills/monkey-mini-app/references/contracts/date-picker.md +17 -0
- package/skills/monkey-mini-app/references/contracts/date-range-picker.md +26 -0
- package/skills/monkey-mini-app/references/contracts/date-time-picker.md +18 -0
- package/skills/monkey-mini-app/references/contracts/date-time-range-picker.md +24 -0
- package/skills/monkey-mini-app/references/contracts/description-list.md +13 -0
- package/skills/monkey-mini-app/references/contracts/detail-panel.md +27 -0
- package/skills/monkey-mini-app/references/contracts/diff-viewer.md +16 -0
- package/skills/monkey-mini-app/references/contracts/donut-chart.md +31 -0
- package/skills/monkey-mini-app/references/contracts/duration-input.md +14 -0
- package/skills/monkey-mini-app/references/contracts/env-badge.md +13 -0
- package/skills/monkey-mini-app/references/contracts/event-calendar.md +50 -0
- package/skills/monkey-mini-app/references/contracts/file-dropzone.md +14 -0
- package/skills/monkey-mini-app/references/contracts/file-tree.md +23 -0
- package/skills/monkey-mini-app/references/contracts/filter-bar.md +26 -0
- package/skills/monkey-mini-app/references/contracts/gantt.md +24 -0
- package/skills/monkey-mini-app/references/contracts/gauge.md +14 -0
- package/skills/monkey-mini-app/references/contracts/jira-wiki.md +53 -0
- package/skills/monkey-mini-app/references/contracts/jql-input.md +37 -0
- package/skills/monkey-mini-app/references/contracts/json-viewer.md +13 -0
- package/skills/monkey-mini-app/references/contracts/kanban-issue-panel.md +45 -0
- package/skills/monkey-mini-app/references/contracts/kanban.md +64 -0
- package/skills/monkey-mini-app/references/contracts/log-viewer.md +13 -0
- package/skills/monkey-mini-app/references/contracts/markdown-editor.md +24 -0
- package/skills/monkey-mini-app/references/contracts/markdown.md +14 -0
- package/skills/monkey-mini-app/references/contracts/mini-calendar.md +15 -0
- package/skills/monkey-mini-app/references/contracts/notification-center.md +23 -0
- package/skills/monkey-mini-app/references/contracts/number-field.md +17 -0
- package/skills/monkey-mini-app/references/contracts/page-header.md +25 -0
- package/skills/monkey-mini-app/references/contracts/password-field.md +14 -0
- package/skills/monkey-mini-app/references/contracts/phone-input.md +14 -0
- package/skills/monkey-mini-app/references/contracts/progress-ring.md +13 -0
- package/skills/monkey-mini-app/references/contracts/radar-chart.md +23 -0
- package/skills/monkey-mini-app/references/contracts/rating.md +15 -0
- package/skills/monkey-mini-app/references/contracts/relative-date-picker.md +24 -0
- package/skills/monkey-mini-app/references/contracts/request-inspector.md +16 -0
- package/skills/monkey-mini-app/references/contracts/rich-text-editor.md +15 -0
- package/skills/monkey-mini-app/references/contracts/run-timeline.md +24 -0
- package/skills/monkey-mini-app/references/contracts/scrollspy.md +13 -0
- package/skills/monkey-mini-app/references/contracts/search-input.md +17 -0
- package/skills/monkey-mini-app/references/contracts/severity-chip.md +13 -0
- package/skills/monkey-mini-app/references/contracts/slider-range.md +16 -0
- package/skills/monkey-mini-app/references/contracts/sortable-list.md +23 -0
- package/skills/monkey-mini-app/references/contracts/sparkline.md +13 -0
- package/skills/monkey-mini-app/references/contracts/stacked-bar-chart.md +23 -0
- package/skills/monkey-mini-app/references/contracts/stat-card.md +27 -0
- package/skills/monkey-mini-app/references/contracts/status-badge.md +24 -0
- package/skills/monkey-mini-app/references/contracts/stepper.md +26 -0
- package/skills/monkey-mini-app/references/contracts/tag-input.md +15 -0
- package/skills/monkey-mini-app/references/contracts/terminal.md +13 -0
- package/skills/monkey-mini-app/references/contracts/test-step-list.md +23 -0
- package/skills/monkey-mini-app/references/contracts/time-picker.md +18 -0
- package/skills/monkey-mini-app/references/contracts/time-range-picker.md +23 -0
- package/skills/monkey-mini-app/references/contracts/time-wheel.md +29 -0
- package/skills/monkey-mini-app/references/contracts/timeline.md +24 -0
- package/skills/monkey-mini-app/references/contracts/timezone-select.md +27 -0
- package/skills/monkey-mini-app/references/contracts/transfer.md +24 -0
- package/skills/monkey-mini-app/references/contracts/tree-view.md +23 -0
- package/skills/monkey-mini-app/references/contracts/trend-card.md +26 -0
- package/skills/monkey-mini-app/references/contracts/user-picker.md +24 -0
- package/skills/monkey-mini-app/references/ctx.md +137 -0
- package/skills/monkey-mini-app/references/history.md +10 -0
- package/skills/monkey-mini-app/references/icons.md +83 -0
- package/skills/monkey-mini-app/references/llm-json.md +69 -0
- package/skills/monkey-mini-app/references/loader.md +30 -0
- package/skills/monkey-mini-app/references/test.md +30 -0
- package/skills/monkey-mini-app/references/tools.md +21 -0
- package/skills/monkey-mini-app/references/troubleshoot.md +12 -0
- package/skills/monkey-mini-app/templates/README.md +24 -0
- package/skills/monkey-mini-app/templates/agentrun/main.api.ts +78 -0
- package/skills/monkey-mini-app/templates/agentrun/manifest.json +9 -0
- package/skills/monkey-mini-app/templates/agentrun/ui.tsx +125 -0
- package/skills/monkey-mini-app/templates/insights/lib/sample.ts +17 -0
- package/skills/monkey-mini-app/templates/insights/main.api.ts +101 -0
- package/skills/monkey-mini-app/templates/insights/manifest.json +9 -0
- package/skills/monkey-mini-app/templates/insights/ui.tsx +138 -0
- package/skills/monkey-mini-app/templates/jira/main.api.ts +115 -0
- package/skills/monkey-mini-app/templates/jira/manifest.json +9 -0
- package/skills/monkey-mini-app/templates/jira/ui.tsx +318 -0
- package/skills/monkey-mini-app/templates/minimal/main.api.ts +16 -0
- package/skills/monkey-mini-app/templates/minimal/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/minimal/ui.tsx +74 -0
- package/skills/monkey-mini-app/templates/monitor/main.api.ts +91 -0
- package/skills/monkey-mini-app/templates/monitor/manifest.json +9 -0
- package/skills/monkey-mini-app/templates/monitor/ui.tsx +176 -0
- package/skills/monkey-mini-app/templates/review/main.api.ts +68 -0
- package/skills/monkey-mini-app/templates/review/manifest.json +9 -0
- package/skills/monkey-mini-app/templates/review/ui.tsx +159 -0
- package/skills/monkey-mini-app/templates/todo/main.api.ts +83 -0
- package/skills/monkey-mini-app/templates/todo/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/todo/ui.tsx +177 -0
- package/tsup.config.ts +68 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DataGrid
|
|
4
|
+
|
|
5
|
+
Product table: sort, column filter popover, global search, pagination.
|
|
6
|
+
|
|
7
|
+
**when** Any list/table of rows — prefer over raw Table*
|
|
8
|
+
|
|
9
|
+
`import { DataGrid, SearchVariant, DataGridColumnMeta, DataGridFeatures } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/products/data-grid.tsx` · products
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `columns` | `ColumnDef<TData, unknown>[]` | ✓ | |
|
|
18
|
+
| `data` | `TData[]` | ✓ | |
|
|
19
|
+
| `features` | `DataGridFeatures \| undefined` | | |
|
|
20
|
+
| `getRowId` | `((row: TData) => string) \| undefined` | | |
|
|
21
|
+
| `onPageIndexChange` | `((pageIndex: number) => void) \| undefined` | | Fired on every page change (also when the user flips pages). |
|
|
22
|
+
| `onRowClick` | `((row: TData) => void) \| undefined` | | Fired when a row is clicked, with the row's data. |
|
|
23
|
+
| `onStateChange` | `((state: { sorting: SortingState; columnFilters: ColumnFiltersState; globalFilter: string; pagination: { pageIndex: number; pageSize: number; }; }) => void) \| undefined` | | |
|
|
24
|
+
| `pageIndex` | `number \| undefined` | | Controlled current page (0-based). Omit for internal state. |
|
|
25
|
+
| `pageSize` | `number \| undefined` | | |
|
|
26
|
+
| `renderExpanded` | `((row: TData) => React.ReactNode) \| undefined` | | |
|
|
27
|
+
| `searchPlaceholder` | `string \| undefined` | | |
|
|
28
|
+
| `toolbar` | `React.ReactNode` | | |
|
|
29
|
+
|
|
30
|
+
## Types
|
|
31
|
+
|
|
32
|
+
### `SearchVariant`
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
"text" | "number" | "select" | "none"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### `DataGridColumnMeta`
|
|
39
|
+
|
|
40
|
+
| field | type | required | note |
|
|
41
|
+
|---|---|:---:|---|
|
|
42
|
+
| `label` | `string \| undefined` | | |
|
|
43
|
+
| `search` | `SearchVariant \| undefined` | | |
|
|
44
|
+
| `sort` | `boolean \| undefined` | | |
|
|
45
|
+
|
|
46
|
+
### `DataGridFeatures`
|
|
47
|
+
|
|
48
|
+
| field | type | required | note |
|
|
49
|
+
|---|---|:---:|---|
|
|
50
|
+
| `autoResetPageIndex` | `boolean \| undefined` | | TanStack `autoResetPageIndex` — reset to page 1 when the `data` array
|
|
51
|
+
reference changes (default true). Turn off for inline edits / appends that
|
|
52
|
+
must keep the current page; pair with a `key` remount for structural loads. |
|
|
53
|
+
| `columnResize` | `boolean \| undefined` | | |
|
|
54
|
+
| `columnSearch` | `boolean \| undefined` | | |
|
|
55
|
+
| `columnVisibility` | `boolean \| undefined` | | |
|
|
56
|
+
| `csvExport` | `boolean \| undefined` | | |
|
|
57
|
+
| `globalSearch` | `boolean \| undefined` | | |
|
|
58
|
+
| `pagination` | `boolean \| undefined` | | |
|
|
59
|
+
| `rowSelection` | `boolean \| undefined` | | |
|
|
60
|
+
| `sorting` | `boolean \| undefined` | | |
|
|
61
|
+
|
|
62
|
+
## Example
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
const columns: ColumnDef<Row>[] = [
|
|
66
|
+
{ accessorKey: "name", header: "Name", meta: { sort: true, search: "text" } },
|
|
67
|
+
]
|
|
68
|
+
<DataGrid columns={columns} data={rows} pageSize={20} />
|
|
69
|
+
|
|
70
|
+
Pagination resets to page 1 whenever the `data` reference changes
|
|
71
|
+
(TanStack `autoResetPageIndex`, default true) — right for filter/refresh
|
|
72
|
+
flows. For inline edits / streaming appends that must keep the current page,
|
|
73
|
+
set `features={{ autoResetPageIndex: false }}` and drive page resets with
|
|
74
|
+
the controlled `pageIndex` prop:
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
const [page, setPage] = useState(0)
|
|
79
|
+
<DataGrid
|
|
80
|
+
columns={columns}
|
|
81
|
+
data={rows}
|
|
82
|
+
features={{ autoResetPageIndex: false }}
|
|
83
|
+
pageIndex={page}
|
|
84
|
+
onPageIndexChange={setPage}
|
|
85
|
+
/>
|
|
86
|
+
// “回到第 1 页”按钮:setPage(0);结构性重载也可用 key 重挂
|
|
87
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DatePicker
|
|
4
|
+
|
|
5
|
+
`import { DatePicker } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/composites/date-picker.tsx` · composites
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `className` | `string \| undefined` | | |
|
|
14
|
+
| `disabled` | `boolean \| undefined` | | |
|
|
15
|
+
| `onChange` | `((date: Date \| undefined) => void) \| undefined` | | |
|
|
16
|
+
| `placeholder` | `string \| undefined` | | |
|
|
17
|
+
| `value` | `Date \| undefined` | | |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DateRangePicker
|
|
4
|
+
|
|
5
|
+
Popover date range with month/year chrome.
|
|
6
|
+
|
|
7
|
+
**when** Filters needing from/to calendar days
|
|
8
|
+
|
|
9
|
+
`import { DateRangePicker } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/composites/date-range-picker.tsx` · composites
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `className` | `string \| undefined` | | |
|
|
18
|
+
| `onChange` | `((range: DateRange \| undefined) => void) \| undefined` | | |
|
|
19
|
+
| `placeholder` | `string \| undefined` | | |
|
|
20
|
+
| `value` | `DateRange \| undefined` | | |
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
<DateRangePicker value={range} onChange={setRange} />
|
|
26
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DateTimePicker
|
|
4
|
+
|
|
5
|
+
`import { DateTimePicker } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/composites/date-time-picker.tsx` · composites
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `className` | `string \| undefined` | | |
|
|
14
|
+
| `onChange` | `((date: Date \| undefined) => void) \| undefined` | | |
|
|
15
|
+
| `onTimezoneChange` | `((zone: string) => void) \| undefined` | | |
|
|
16
|
+
| `placeholder` | `string \| undefined` | | |
|
|
17
|
+
| `timezone` | `string \| undefined` | | |
|
|
18
|
+
| `value` | `Date \| undefined` | | |
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DateTimeRangePicker
|
|
4
|
+
|
|
5
|
+
`import { DateTimeRangePicker, DateTimeRange } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/composites/date-time-range-picker.tsx` · composites
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `allDay` | `boolean \| undefined` | | |
|
|
14
|
+
| `onChange` | `((value: DateTimeRange) => void) \| undefined` | | |
|
|
15
|
+
| `value` | `DateTimeRange \| undefined` | | |
|
|
16
|
+
|
|
17
|
+
## Types
|
|
18
|
+
|
|
19
|
+
### `DateTimeRange`
|
|
20
|
+
|
|
21
|
+
| field | type | required | note |
|
|
22
|
+
|---|---|:---:|---|
|
|
23
|
+
| `end` | `Date \| undefined` | | |
|
|
24
|
+
| `start` | `Date \| undefined` | | |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DescriptionList
|
|
4
|
+
|
|
5
|
+
`import { DescriptionList } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/blocks/description-list.tsx` · blocks
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `items` | `{ label: string; value: string; }[]` | ✓ | |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DetailPanel
|
|
4
|
+
|
|
5
|
+
Right-side inspector Sheet for a selected row/entity.
|
|
6
|
+
|
|
7
|
+
**when** Master-detail after row/card click
|
|
8
|
+
|
|
9
|
+
`import { DetailPanel } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/detail-panel.tsx` · blocks
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `children` | `ReactNode` | | |
|
|
18
|
+
| `description` | `string \| undefined` | | |
|
|
19
|
+
| `onOpenChange` | `(open: boolean) => void` | ✓ | |
|
|
20
|
+
| `open` | `boolean` | ✓ | |
|
|
21
|
+
| `title` | `string` | ✓ | |
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
<DetailPanel open={!!id} onOpenChange={() => setId(null)} title="Run #12">{body}</DetailPanel>
|
|
27
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DiffViewer
|
|
4
|
+
|
|
5
|
+
`import { DiffViewer } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/products/diff-viewer.tsx` · products
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `fileName` | `string \| undefined` | | |
|
|
14
|
+
| `mode` | `"unified" \| "split" \| undefined` | | |
|
|
15
|
+
| `modified` | `string` | ✓ | |
|
|
16
|
+
| `original` | `string` | ✓ | |
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DonutChart
|
|
4
|
+
|
|
5
|
+
`import { DonutChart, ChartConfig, Slice } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/blocks/donut-chart.tsx` · blocks
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `center` | `string \| undefined` | | |
|
|
14
|
+
| `config` | `ChartConfig` | ✓ | |
|
|
15
|
+
| `data` | `Slice[]` | ✓ | |
|
|
16
|
+
|
|
17
|
+
## Types
|
|
18
|
+
|
|
19
|
+
### `ChartConfig`
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
Record< string, { label?: React.ReactNode icon?: React.ComponentType } & ( | { color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> } ) >
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### `Slice`
|
|
26
|
+
|
|
27
|
+
| field | type | required | note |
|
|
28
|
+
|---|---|:---:|---|
|
|
29
|
+
| `fill` | `string` | ✓ | |
|
|
30
|
+
| `name` | `string` | ✓ | |
|
|
31
|
+
| `value` | `number` | ✓ | |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# DurationInput
|
|
4
|
+
|
|
5
|
+
`import { DurationInput } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/composites/duration-input.tsx` · composites
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `onChange` | `((value: string, minutes: number) => void) \| undefined` | | |
|
|
14
|
+
| `value` | `string \| undefined` | | |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# EnvBadge
|
|
4
|
+
|
|
5
|
+
`import { EnvBadge } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/blocks/env-badge.tsx` · blocks
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `env` | `string` | ✓ | |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# EventCalendar
|
|
4
|
+
|
|
5
|
+
Month / week / day calendar. Event shape: { id, title, start, end, allDay? }.
|
|
6
|
+
Drag empty slots to create; click event to edit. Week/day have all-day row.
|
|
7
|
+
|
|
8
|
+
**when** Scheduling, on-call, release windows
|
|
9
|
+
|
|
10
|
+
`import { EventCalendar, CalendarView, CalendarEvent } from "@monkey-mini-app/ui"`
|
|
11
|
+
|
|
12
|
+
`packages/ui/src/products/event-calendar.tsx` · products
|
|
13
|
+
|
|
14
|
+
## Props
|
|
15
|
+
|
|
16
|
+
| field | type | required | note |
|
|
17
|
+
|---|---|:---:|---|
|
|
18
|
+
| `className` | `string \| undefined` | | |
|
|
19
|
+
| `events` | `CalendarEvent[]` | ✓ | |
|
|
20
|
+
| `onDayClick` | `((date: Date) => void) \| undefined` | | |
|
|
21
|
+
| `onEventClick` | `((event: CalendarEvent) => void) \| undefined` | | |
|
|
22
|
+
| `onEventsChange` | `((events: CalendarEvent[]) => void) \| undefined` | | |
|
|
23
|
+
| `onValueChange` | `((date: Date) => void) \| undefined` | | |
|
|
24
|
+
| `onViewChange` | `((view: CalendarView) => void) \| undefined` | | |
|
|
25
|
+
| `value` | `Date \| undefined` | | |
|
|
26
|
+
| `view` | `CalendarView \| undefined` | | |
|
|
27
|
+
|
|
28
|
+
## Types
|
|
29
|
+
|
|
30
|
+
### `CalendarView`
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
"month" | "week" | "day"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### `CalendarEvent`
|
|
37
|
+
|
|
38
|
+
| field | type | required | note |
|
|
39
|
+
|---|---|:---:|---|
|
|
40
|
+
| `allDay` | `boolean \| undefined` | | |
|
|
41
|
+
| `end` | `Date` | ✓ | |
|
|
42
|
+
| `id` | `string` | ✓ | |
|
|
43
|
+
| `start` | `Date` | ✓ | |
|
|
44
|
+
| `title` | `string` | ✓ | |
|
|
45
|
+
|
|
46
|
+
## Example
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<EventCalendar events={events} onEventsChange={setEvents} view="week" />
|
|
50
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# FileDropzone
|
|
4
|
+
|
|
5
|
+
`import { FileDropzone } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/products/file-dropzone.tsx` · products
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `files` | `File[] \| undefined` | | |
|
|
14
|
+
| `onFiles` | `((files: File[]) => void) \| undefined` | | |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# FileTree
|
|
4
|
+
|
|
5
|
+
`import { FileTree, TreeNode } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/blocks/file-tree.tsx` · blocks
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `nodes` | `TreeNode[]` | ✓ | |
|
|
14
|
+
|
|
15
|
+
## Types
|
|
16
|
+
|
|
17
|
+
### `TreeNode`
|
|
18
|
+
|
|
19
|
+
| field | type | required | note |
|
|
20
|
+
|---|---|:---:|---|
|
|
21
|
+
| `children` | `TreeNode[] \| undefined` | | |
|
|
22
|
+
| `id` | `string` | ✓ | |
|
|
23
|
+
| `label` | `string` | ✓ | |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# FilterBar
|
|
4
|
+
|
|
5
|
+
Horizontal wrap row for filters and toolbar controls.
|
|
6
|
+
|
|
7
|
+
**when** Above DataGrid or any filtered list
|
|
8
|
+
|
|
9
|
+
`import { FilterBar } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/filter-bar.tsx` · blocks
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `children` | `ReactNode` | ✓ | |
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<FilterBar>
|
|
23
|
+
<DateRangePicker value={range} onChange={setRange} />
|
|
24
|
+
<SearchInput value={q} onChange={setQ} />
|
|
25
|
+
</FilterBar>
|
|
26
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Gantt
|
|
4
|
+
|
|
5
|
+
`import { Gantt, GanttTask } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/products/gantt.tsx` · products
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `tasks` | `GanttTask[]` | ✓ | |
|
|
14
|
+
|
|
15
|
+
## Types
|
|
16
|
+
|
|
17
|
+
### `GanttTask`
|
|
18
|
+
|
|
19
|
+
| field | type | required | note |
|
|
20
|
+
|---|---|:---:|---|
|
|
21
|
+
| `end` | `Date` | ✓ | |
|
|
22
|
+
| `id` | `string` | ✓ | |
|
|
23
|
+
| `start` | `Date` | ✓ | |
|
|
24
|
+
| `title` | `string` | ✓ | |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Gauge
|
|
4
|
+
|
|
5
|
+
`import { Gauge } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/blocks/gauge.tsx` · blocks
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `label` | `string \| undefined` | | |
|
|
14
|
+
| `value` | `number` | ✓ | |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# JiraWiki
|
|
4
|
+
|
|
5
|
+
Render Jira wiki markup to tokens (headings, lists, tables, [^file], -strike-).
|
|
6
|
+
Style via className / classNames; full control via parseJiraWiki().
|
|
7
|
+
|
|
8
|
+
**when** Jira description / comment body
|
|
9
|
+
|
|
10
|
+
`import { JiraWiki, JiraWikiClassNames } from "@monkey-mini-app/ui"`
|
|
11
|
+
|
|
12
|
+
`packages/ui/src/products/jira-wiki.tsx` · products
|
|
13
|
+
|
|
14
|
+
## Props
|
|
15
|
+
|
|
16
|
+
| field | type | required | note |
|
|
17
|
+
|---|---|:---:|---|
|
|
18
|
+
| `children` | `string` | ✓ | |
|
|
19
|
+
| `className` | `string \| undefined` | | |
|
|
20
|
+
| `classNames` | `JiraWikiClassNames \| undefined` | | |
|
|
21
|
+
| `onAttachmentClick` | `((name: string) => void) \| undefined` | | |
|
|
22
|
+
|
|
23
|
+
## Types
|
|
24
|
+
|
|
25
|
+
### `JiraWikiClassNames`
|
|
26
|
+
|
|
27
|
+
| field | type | required | note |
|
|
28
|
+
|---|---|:---:|---|
|
|
29
|
+
| `attachment` | `string \| undefined` | | |
|
|
30
|
+
| `bold` | `string \| undefined` | | |
|
|
31
|
+
| `code` | `string \| undefined` | | |
|
|
32
|
+
| `heading` | `string \| undefined` | | |
|
|
33
|
+
| `hr` | `string \| undefined` | | |
|
|
34
|
+
| `inlineCode` | `string \| undefined` | | |
|
|
35
|
+
| `italic` | `string \| undefined` | | |
|
|
36
|
+
| `link` | `string \| undefined` | | |
|
|
37
|
+
| `list` | `string \| undefined` | | |
|
|
38
|
+
| `listItem` | `string \| undefined` | | |
|
|
39
|
+
| `panel` | `string \| undefined` | | |
|
|
40
|
+
| `panelTitle` | `string \| undefined` | | |
|
|
41
|
+
| `paragraph` | `string \| undefined` | | |
|
|
42
|
+
| `quote` | `string \| undefined` | | |
|
|
43
|
+
| `root` | `string \| undefined` | | |
|
|
44
|
+
| `strike` | `string \| undefined` | | |
|
|
45
|
+
| `table` | `string \| undefined` | | |
|
|
46
|
+
| `td` | `string \| undefined` | | |
|
|
47
|
+
| `th` | `string \| undefined` | | |
|
|
48
|
+
|
|
49
|
+
## Example
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<JiraWiki classNames={{ heading: "text-base" }}>{`h2. Title\n* item`}</JiraWiki>
|
|
53
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# JqlInput
|
|
4
|
+
|
|
5
|
+
CodeMirror JQL editor with field/function completion (host injects fields).
|
|
6
|
+
|
|
7
|
+
**when** Issue search / saved filters
|
|
8
|
+
|
|
9
|
+
`import { JqlInput, JqlSuggestItem } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/products/jql-input.tsx` · products
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `className` | `string \| undefined` | | |
|
|
18
|
+
| `fields` | `JqlSuggestItem[] \| undefined` | | |
|
|
19
|
+
| `functions` | `JqlSuggestItem[] \| undefined` | | |
|
|
20
|
+
| `height` | `string \| undefined` | | |
|
|
21
|
+
| `onChange` | `((value: string) => void) \| undefined` | | |
|
|
22
|
+
| `value` | `string` | ✓ | |
|
|
23
|
+
|
|
24
|
+
## Types
|
|
25
|
+
|
|
26
|
+
### `JqlSuggestItem`
|
|
27
|
+
|
|
28
|
+
| field | type | required | note |
|
|
29
|
+
|---|---|:---:|---|
|
|
30
|
+
| `detail` | `string \| undefined` | | |
|
|
31
|
+
| `name` | `string` | ✓ | |
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<JqlInput value={jql} onChange={setJql} fields={[{ name: "status" }]} />
|
|
37
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# JsonViewer
|
|
4
|
+
|
|
5
|
+
`import { JsonViewer } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/products/json-viewer.tsx` · products
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `value` | `unknown` | ✓ | |
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# KanbanIssuePanel
|
|
4
|
+
|
|
5
|
+
`import { KanbanIssuePanel, KanbanCard, KanbanComment } from "@monkey-mini-app/ui"`
|
|
6
|
+
|
|
7
|
+
`packages/ui/src/products/kanban-issue-panel.tsx` · products
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
| field | type | required | note |
|
|
12
|
+
|---|---|:---:|---|
|
|
13
|
+
| `card` | `KanbanCard \| null` | ✓ | |
|
|
14
|
+
| `columnTitle` | `string \| undefined` | | |
|
|
15
|
+
| `onOpenChange` | `(open: boolean) => void` | ✓ | |
|
|
16
|
+
| `open` | `boolean` | ✓ | |
|
|
17
|
+
|
|
18
|
+
## Types
|
|
19
|
+
|
|
20
|
+
### `KanbanCard`
|
|
21
|
+
|
|
22
|
+
| field | type | required | note |
|
|
23
|
+
|---|---|:---:|---|
|
|
24
|
+
| `assignee` | `string \| undefined` | | |
|
|
25
|
+
| `columnId` | `string` | ✓ | |
|
|
26
|
+
| `comments` | `KanbanComment[] \| undefined` | | |
|
|
27
|
+
| `description` | `string \| undefined` | | |
|
|
28
|
+
| `id` | `string` | ✓ | |
|
|
29
|
+
| `key` | `string \| undefined` | | |
|
|
30
|
+
| `priority` | `string \| undefined` | | |
|
|
31
|
+
| `reporter` | `string \| undefined` | | |
|
|
32
|
+
| `status` | `string \| undefined` | | |
|
|
33
|
+
| `tags` | `string[] \| undefined` | | |
|
|
34
|
+
| `title` | `string` | ✓ | |
|
|
35
|
+
| `type` | `string \| undefined` | | |
|
|
36
|
+
| `updated` | `string \| undefined` | | |
|
|
37
|
+
|
|
38
|
+
### `KanbanComment`
|
|
39
|
+
|
|
40
|
+
| field | type | required | note |
|
|
41
|
+
|---|---|:---:|---|
|
|
42
|
+
| `author` | `string` | ✓ | |
|
|
43
|
+
| `body` | `string` | ✓ | |
|
|
44
|
+
| `id` | `string` | ✓ | |
|
|
45
|
+
| `time` | `string \| undefined` | | |
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- generated by scripts/generate-skill.mjs — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Kanban
|
|
4
|
+
|
|
5
|
+
DnD board: columns + cards. Move cards across columns via drag.
|
|
6
|
+
|
|
7
|
+
**when** Issue/workflow boards
|
|
8
|
+
|
|
9
|
+
`import { Kanban, KanbanComment, KanbanCard, KanbanColumn } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/products/kanban.tsx` · products
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `cards` | `KanbanCard[]` | ✓ | |
|
|
18
|
+
| `columns` | `KanbanColumn[]` | ✓ | |
|
|
19
|
+
| `onCardClick` | `((card: KanbanCard) => void) \| undefined` | | |
|
|
20
|
+
| `onCardsChange` | `((cards: KanbanCard[]) => void) \| undefined` | | |
|
|
21
|
+
| `renderCard` | `((card: KanbanCard) => ReactNode) \| undefined` | | |
|
|
22
|
+
|
|
23
|
+
## Types
|
|
24
|
+
|
|
25
|
+
### `KanbanComment`
|
|
26
|
+
|
|
27
|
+
| field | type | required | note |
|
|
28
|
+
|---|---|:---:|---|
|
|
29
|
+
| `author` | `string` | ✓ | |
|
|
30
|
+
| `body` | `string` | ✓ | |
|
|
31
|
+
| `id` | `string` | ✓ | |
|
|
32
|
+
| `time` | `string \| undefined` | | |
|
|
33
|
+
|
|
34
|
+
### `KanbanCard`
|
|
35
|
+
|
|
36
|
+
| field | type | required | note |
|
|
37
|
+
|---|---|:---:|---|
|
|
38
|
+
| `assignee` | `string \| undefined` | | |
|
|
39
|
+
| `columnId` | `string` | ✓ | |
|
|
40
|
+
| `comments` | `KanbanComment[] \| undefined` | | |
|
|
41
|
+
| `description` | `string \| undefined` | | |
|
|
42
|
+
| `id` | `string` | ✓ | |
|
|
43
|
+
| `key` | `string \| undefined` | | |
|
|
44
|
+
| `priority` | `string \| undefined` | | |
|
|
45
|
+
| `reporter` | `string \| undefined` | | |
|
|
46
|
+
| `status` | `string \| undefined` | | |
|
|
47
|
+
| `tags` | `string[] \| undefined` | | |
|
|
48
|
+
| `title` | `string` | ✓ | |
|
|
49
|
+
| `type` | `string \| undefined` | | |
|
|
50
|
+
| `updated` | `string \| undefined` | | |
|
|
51
|
+
|
|
52
|
+
### `KanbanColumn`
|
|
53
|
+
|
|
54
|
+
| field | type | required | note |
|
|
55
|
+
|---|---|:---:|---|
|
|
56
|
+
| `id` | `string` | ✓ | |
|
|
57
|
+
| `limit` | `number \| undefined` | | |
|
|
58
|
+
| `title` | `string` | ✓ | |
|
|
59
|
+
|
|
60
|
+
## Example
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
<Kanban columns={cols} cards={cards} onCardsChange={setCards} onCardClick={open} />
|
|
64
|
+
```
|