@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.
Files changed (112) hide show
  1. package/cordis.patch.yml +6 -0
  2. package/lib/client.d.cts +35 -0
  3. package/lib/client.js +5462 -0
  4. package/lib/index.d.ts +140 -0
  5. package/lib/index.js +1094 -0
  6. package/package.json +90 -0
  7. package/skills/monkey-mini-app/SKILL.md +209 -0
  8. package/skills/monkey-mini-app/references/catalog.md +99 -0
  9. package/skills/monkey-mini-app/references/contracts/activity-feed.md +24 -0
  10. package/skills/monkey-mini-app/references/contracts/app-shell.md +28 -0
  11. package/skills/monkey-mini-app/references/contracts/attachment-gallery.md +22 -0
  12. package/skills/monkey-mini-app/references/contracts/autocomplete.md +16 -0
  13. package/skills/monkey-mini-app/references/contracts/cascader.md +25 -0
  14. package/skills/monkey-mini-app/references/contracts/code-block.md +15 -0
  15. package/skills/monkey-mini-app/references/contracts/code-editor.md +17 -0
  16. package/skills/monkey-mini-app/references/contracts/color-picker.md +14 -0
  17. package/skills/monkey-mini-app/references/contracts/comment-thread.md +24 -0
  18. package/skills/monkey-mini-app/references/contracts/confirm-dialog.md +19 -0
  19. package/skills/monkey-mini-app/references/contracts/copyable.md +13 -0
  20. package/skills/monkey-mini-app/references/contracts/currency-input.md +15 -0
  21. package/skills/monkey-mini-app/references/contracts/data-grid.md +87 -0
  22. package/skills/monkey-mini-app/references/contracts/date-picker.md +17 -0
  23. package/skills/monkey-mini-app/references/contracts/date-range-picker.md +26 -0
  24. package/skills/monkey-mini-app/references/contracts/date-time-picker.md +18 -0
  25. package/skills/monkey-mini-app/references/contracts/date-time-range-picker.md +24 -0
  26. package/skills/monkey-mini-app/references/contracts/description-list.md +13 -0
  27. package/skills/monkey-mini-app/references/contracts/detail-panel.md +27 -0
  28. package/skills/monkey-mini-app/references/contracts/diff-viewer.md +16 -0
  29. package/skills/monkey-mini-app/references/contracts/donut-chart.md +31 -0
  30. package/skills/monkey-mini-app/references/contracts/duration-input.md +14 -0
  31. package/skills/monkey-mini-app/references/contracts/env-badge.md +13 -0
  32. package/skills/monkey-mini-app/references/contracts/event-calendar.md +50 -0
  33. package/skills/monkey-mini-app/references/contracts/file-dropzone.md +14 -0
  34. package/skills/monkey-mini-app/references/contracts/file-tree.md +23 -0
  35. package/skills/monkey-mini-app/references/contracts/filter-bar.md +26 -0
  36. package/skills/monkey-mini-app/references/contracts/gantt.md +24 -0
  37. package/skills/monkey-mini-app/references/contracts/gauge.md +14 -0
  38. package/skills/monkey-mini-app/references/contracts/jira-wiki.md +53 -0
  39. package/skills/monkey-mini-app/references/contracts/jql-input.md +37 -0
  40. package/skills/monkey-mini-app/references/contracts/json-viewer.md +13 -0
  41. package/skills/monkey-mini-app/references/contracts/kanban-issue-panel.md +45 -0
  42. package/skills/monkey-mini-app/references/contracts/kanban.md +64 -0
  43. package/skills/monkey-mini-app/references/contracts/log-viewer.md +13 -0
  44. package/skills/monkey-mini-app/references/contracts/markdown-editor.md +24 -0
  45. package/skills/monkey-mini-app/references/contracts/markdown.md +14 -0
  46. package/skills/monkey-mini-app/references/contracts/mini-calendar.md +15 -0
  47. package/skills/monkey-mini-app/references/contracts/notification-center.md +23 -0
  48. package/skills/monkey-mini-app/references/contracts/number-field.md +17 -0
  49. package/skills/monkey-mini-app/references/contracts/page-header.md +25 -0
  50. package/skills/monkey-mini-app/references/contracts/password-field.md +14 -0
  51. package/skills/monkey-mini-app/references/contracts/phone-input.md +14 -0
  52. package/skills/monkey-mini-app/references/contracts/progress-ring.md +13 -0
  53. package/skills/monkey-mini-app/references/contracts/radar-chart.md +23 -0
  54. package/skills/monkey-mini-app/references/contracts/rating.md +15 -0
  55. package/skills/monkey-mini-app/references/contracts/relative-date-picker.md +24 -0
  56. package/skills/monkey-mini-app/references/contracts/request-inspector.md +16 -0
  57. package/skills/monkey-mini-app/references/contracts/rich-text-editor.md +15 -0
  58. package/skills/monkey-mini-app/references/contracts/run-timeline.md +24 -0
  59. package/skills/monkey-mini-app/references/contracts/scrollspy.md +13 -0
  60. package/skills/monkey-mini-app/references/contracts/search-input.md +17 -0
  61. package/skills/monkey-mini-app/references/contracts/severity-chip.md +13 -0
  62. package/skills/monkey-mini-app/references/contracts/slider-range.md +16 -0
  63. package/skills/monkey-mini-app/references/contracts/sortable-list.md +23 -0
  64. package/skills/monkey-mini-app/references/contracts/sparkline.md +13 -0
  65. package/skills/monkey-mini-app/references/contracts/stacked-bar-chart.md +23 -0
  66. package/skills/monkey-mini-app/references/contracts/stat-card.md +27 -0
  67. package/skills/monkey-mini-app/references/contracts/status-badge.md +24 -0
  68. package/skills/monkey-mini-app/references/contracts/stepper.md +26 -0
  69. package/skills/monkey-mini-app/references/contracts/tag-input.md +15 -0
  70. package/skills/monkey-mini-app/references/contracts/terminal.md +13 -0
  71. package/skills/monkey-mini-app/references/contracts/test-step-list.md +23 -0
  72. package/skills/monkey-mini-app/references/contracts/time-picker.md +18 -0
  73. package/skills/monkey-mini-app/references/contracts/time-range-picker.md +23 -0
  74. package/skills/monkey-mini-app/references/contracts/time-wheel.md +29 -0
  75. package/skills/monkey-mini-app/references/contracts/timeline.md +24 -0
  76. package/skills/monkey-mini-app/references/contracts/timezone-select.md +27 -0
  77. package/skills/monkey-mini-app/references/contracts/transfer.md +24 -0
  78. package/skills/monkey-mini-app/references/contracts/tree-view.md +23 -0
  79. package/skills/monkey-mini-app/references/contracts/trend-card.md +26 -0
  80. package/skills/monkey-mini-app/references/contracts/user-picker.md +24 -0
  81. package/skills/monkey-mini-app/references/ctx.md +137 -0
  82. package/skills/monkey-mini-app/references/history.md +10 -0
  83. package/skills/monkey-mini-app/references/icons.md +83 -0
  84. package/skills/monkey-mini-app/references/llm-json.md +69 -0
  85. package/skills/monkey-mini-app/references/loader.md +30 -0
  86. package/skills/monkey-mini-app/references/test.md +30 -0
  87. package/skills/monkey-mini-app/references/tools.md +21 -0
  88. package/skills/monkey-mini-app/references/troubleshoot.md +12 -0
  89. package/skills/monkey-mini-app/templates/README.md +24 -0
  90. package/skills/monkey-mini-app/templates/agentrun/main.api.ts +78 -0
  91. package/skills/monkey-mini-app/templates/agentrun/manifest.json +9 -0
  92. package/skills/monkey-mini-app/templates/agentrun/ui.tsx +125 -0
  93. package/skills/monkey-mini-app/templates/insights/lib/sample.ts +17 -0
  94. package/skills/monkey-mini-app/templates/insights/main.api.ts +101 -0
  95. package/skills/monkey-mini-app/templates/insights/manifest.json +9 -0
  96. package/skills/monkey-mini-app/templates/insights/ui.tsx +138 -0
  97. package/skills/monkey-mini-app/templates/jira/main.api.ts +115 -0
  98. package/skills/monkey-mini-app/templates/jira/manifest.json +9 -0
  99. package/skills/monkey-mini-app/templates/jira/ui.tsx +318 -0
  100. package/skills/monkey-mini-app/templates/minimal/main.api.ts +16 -0
  101. package/skills/monkey-mini-app/templates/minimal/manifest.json +8 -0
  102. package/skills/monkey-mini-app/templates/minimal/ui.tsx +74 -0
  103. package/skills/monkey-mini-app/templates/monitor/main.api.ts +91 -0
  104. package/skills/monkey-mini-app/templates/monitor/manifest.json +9 -0
  105. package/skills/monkey-mini-app/templates/monitor/ui.tsx +176 -0
  106. package/skills/monkey-mini-app/templates/review/main.api.ts +68 -0
  107. package/skills/monkey-mini-app/templates/review/manifest.json +9 -0
  108. package/skills/monkey-mini-app/templates/review/ui.tsx +159 -0
  109. package/skills/monkey-mini-app/templates/todo/main.api.ts +83 -0
  110. package/skills/monkey-mini-app/templates/todo/manifest.json +8 -0
  111. package/skills/monkey-mini-app/templates/todo/ui.tsx +177 -0
  112. 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
+ ```