@monkey-mini-app/dsh-mini-app 0.1.0 → 0.1.4
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/README.md +59 -0
- package/assets/apps-list.png +0 -0
- package/assets/complex-demo-app.png +0 -0
- package/assets/demo-app.png +0 -0
- package/assets/home.png +0 -0
- package/assets/sidebar-mode.png +0 -0
- package/lib/client.js +2024 -783
- package/lib/index.d.ts +5 -2
- package/lib/index.js +29 -16
- package/package.json +12 -10
- package/skills/monkey-mini-app/SKILL.md +182 -106
- package/skills/monkey-mini-app/references/catalog.md +236 -99
- package/skills/monkey-mini-app/references/contracts/accordion.md +30 -0
- package/skills/monkey-mini-app/references/contracts/activity-feed.md +12 -2
- package/skills/monkey-mini-app/references/contracts/alert-dialog.md +38 -0
- package/skills/monkey-mini-app/references/contracts/alert.md +38 -0
- package/skills/monkey-mini-app/references/contracts/app-shell.md +2 -2
- package/skills/monkey-mini-app/references/contracts/aspect-ratio.md +25 -0
- package/skills/monkey-mini-app/references/contracts/attachment-gallery.md +12 -2
- package/skills/monkey-mini-app/references/contracts/attachment.md +35 -0
- package/skills/monkey-mini-app/references/contracts/autocomplete.md +12 -2
- package/skills/monkey-mini-app/references/contracts/avatar.md +24 -0
- package/skills/monkey-mini-app/references/contracts/badge.md +26 -0
- package/skills/monkey-mini-app/references/contracts/breadcrumb.md +33 -0
- package/skills/monkey-mini-app/references/contracts/bubble.md +30 -0
- package/skills/monkey-mini-app/references/contracts/button-group.md +36 -0
- package/skills/monkey-mini-app/references/contracts/button.md +26 -0
- package/skills/monkey-mini-app/references/contracts/calendar.md +20 -0
- package/skills/monkey-mini-app/references/contracts/card.md +41 -0
- package/skills/monkey-mini-app/references/contracts/cascader.md +12 -2
- package/skills/monkey-mini-app/references/contracts/chart.md +32 -0
- package/skills/monkey-mini-app/references/contracts/checkbox.md +19 -0
- package/skills/monkey-mini-app/references/contracts/code-block.md +20 -2
- package/skills/monkey-mini-app/references/contracts/code-editor.md +30 -4
- package/skills/monkey-mini-app/references/contracts/collapsible.md +21 -0
- package/skills/monkey-mini-app/references/contracts/color-picker.md +12 -2
- package/skills/monkey-mini-app/references/contracts/combobox.md +34 -0
- package/skills/monkey-mini-app/references/contracts/command.md +41 -0
- package/skills/monkey-mini-app/references/contracts/comment-thread.md +12 -2
- package/skills/monkey-mini-app/references/contracts/commit-graph.md +50 -0
- package/skills/monkey-mini-app/references/contracts/confirm-dialog.md +20 -2
- package/skills/monkey-mini-app/references/contracts/context-menu.md +41 -0
- package/skills/monkey-mini-app/references/contracts/copyable.md +12 -2
- package/skills/monkey-mini-app/references/contracts/currency-input.md +12 -2
- package/skills/monkey-mini-app/references/contracts/dashboard-shell.md +41 -0
- package/skills/monkey-mini-app/references/contracts/data-grid.md +13 -6
- package/skills/monkey-mini-app/references/contracts/date-picker.md +20 -2
- package/skills/monkey-mini-app/references/contracts/date-range-picker.md +10 -2
- package/skills/monkey-mini-app/references/contracts/date-time-picker.md +20 -2
- package/skills/monkey-mini-app/references/contracts/date-time-range-picker.md +20 -2
- package/skills/monkey-mini-app/references/contracts/description-list.md +12 -2
- package/skills/monkey-mini-app/references/contracts/detail-panel.md +10 -2
- package/skills/monkey-mini-app/references/contracts/dialog.md +44 -0
- package/skills/monkey-mini-app/references/contracts/diff-viewer.md +21 -2
- package/skills/monkey-mini-app/references/contracts/donut-chart.md +14 -2
- package/skills/monkey-mini-app/references/contracts/drawer.md +29 -0
- package/skills/monkey-mini-app/references/contracts/dropdown-menu.md +49 -0
- package/skills/monkey-mini-app/references/contracts/duration-input.md +20 -2
- package/skills/monkey-mini-app/references/contracts/empty.md +40 -0
- package/skills/monkey-mini-app/references/contracts/env-badge.md +12 -2
- package/skills/monkey-mini-app/references/contracts/env-table.md +46 -0
- package/skills/monkey-mini-app/references/contracts/event-calendar.md +28 -20
- package/skills/monkey-mini-app/references/contracts/field.md +34 -0
- package/skills/monkey-mini-app/references/contracts/file-dropzone.md +20 -2
- package/skills/monkey-mini-app/references/contracts/file-tree.md +12 -2
- package/skills/monkey-mini-app/references/contracts/filter-bar.md +2 -2
- package/skills/monkey-mini-app/references/contracts/form-sheet.md +51 -0
- package/skills/monkey-mini-app/references/contracts/gantt.md +20 -2
- package/skills/monkey-mini-app/references/contracts/gauge.md +14 -2
- package/skills/monkey-mini-app/references/contracts/hover-card.md +21 -0
- package/skills/monkey-mini-app/references/contracts/input-group.md +24 -0
- package/skills/monkey-mini-app/references/contracts/input.md +33 -0
- package/skills/monkey-mini-app/references/contracts/item.md +36 -0
- package/skills/monkey-mini-app/references/contracts/jira-wiki.md +3 -4
- package/skills/monkey-mini-app/references/contracts/jql-input.md +15 -8
- package/skills/monkey-mini-app/references/contracts/json-viewer.md +20 -2
- package/skills/monkey-mini-app/references/contracts/kanban-issue-panel.md +12 -2
- package/skills/monkey-mini-app/references/contracts/kanban.md +10 -2
- package/skills/monkey-mini-app/references/contracts/kbd.md +20 -0
- package/skills/monkey-mini-app/references/contracts/label.md +33 -0
- package/skills/monkey-mini-app/references/contracts/list-detail.md +46 -0
- package/skills/monkey-mini-app/references/contracts/log-viewer.md +45 -4
- package/skills/monkey-mini-app/references/contracts/markdown-editor.md +20 -2
- package/skills/monkey-mini-app/references/contracts/markdown.md +12 -2
- package/skills/monkey-mini-app/references/contracts/marker.md +30 -0
- package/skills/monkey-mini-app/references/contracts/menubar.md +34 -0
- package/skills/monkey-mini-app/references/contracts/message-scroller.md +24 -0
- package/skills/monkey-mini-app/references/contracts/message.md +24 -0
- package/skills/monkey-mini-app/references/contracts/mini-calendar.md +20 -2
- package/skills/monkey-mini-app/references/contracts/native-select.md +21 -0
- package/skills/monkey-mini-app/references/contracts/navigation-menu.md +27 -0
- package/skills/monkey-mini-app/references/contracts/notification-center.md +12 -2
- package/skills/monkey-mini-app/references/contracts/number-field.md +20 -2
- package/skills/monkey-mini-app/references/contracts/page-header.md +2 -2
- package/skills/monkey-mini-app/references/contracts/pagination.md +33 -0
- package/skills/monkey-mini-app/references/contracts/password-field.md +12 -2
- package/skills/monkey-mini-app/references/contracts/phone-input.md +12 -2
- package/skills/monkey-mini-app/references/contracts/popover.md +32 -0
- package/skills/monkey-mini-app/references/contracts/progress-ring.md +14 -2
- package/skills/monkey-mini-app/references/contracts/progress.md +39 -0
- package/skills/monkey-mini-app/references/contracts/questionnaire.md +33 -0
- package/skills/monkey-mini-app/references/contracts/radar-chart.md +14 -2
- package/skills/monkey-mini-app/references/contracts/radio-group.md +20 -0
- package/skills/monkey-mini-app/references/contracts/rating.md +12 -2
- package/skills/monkey-mini-app/references/contracts/relative-date-picker.md +20 -2
- package/skills/monkey-mini-app/references/contracts/request-inspector.md +12 -2
- package/skills/monkey-mini-app/references/contracts/resizable.md +29 -0
- package/skills/monkey-mini-app/references/contracts/reveal.md +31 -0
- package/skills/monkey-mini-app/references/contracts/rich-text-editor.md +14 -2
- package/skills/monkey-mini-app/references/contracts/run-timeline.md +20 -2
- package/skills/monkey-mini-app/references/contracts/scroll-area.md +20 -0
- package/skills/monkey-mini-app/references/contracts/scrollspy.md +20 -2
- package/skills/monkey-mini-app/references/contracts/search-input.md +12 -2
- package/skills/monkey-mini-app/references/contracts/select.md +36 -0
- package/skills/monkey-mini-app/references/contracts/separator.md +27 -0
- package/skills/monkey-mini-app/references/contracts/settings-split.md +53 -0
- package/skills/monkey-mini-app/references/contracts/severity-chip.md +12 -2
- package/skills/monkey-mini-app/references/contracts/sheet.md +34 -0
- package/skills/monkey-mini-app/references/contracts/sidebar.md +42 -0
- package/skills/monkey-mini-app/references/contracts/skeleton.md +33 -0
- package/skills/monkey-mini-app/references/contracts/slider-range.md +12 -2
- package/skills/monkey-mini-app/references/contracts/slider.md +25 -0
- package/skills/monkey-mini-app/references/contracts/sortable-list.md +20 -2
- package/skills/monkey-mini-app/references/contracts/sparkline.md +13 -2
- package/skills/monkey-mini-app/references/contracts/spinner.md +31 -0
- package/skills/monkey-mini-app/references/contracts/stacked-bar-chart.md +17 -2
- package/skills/monkey-mini-app/references/contracts/stat-card.md +2 -2
- package/skills/monkey-mini-app/references/contracts/status-badge.md +2 -2
- package/skills/monkey-mini-app/references/contracts/stepper-item.md +39 -0
- package/skills/monkey-mini-app/references/contracts/stepper.md +38 -11
- package/skills/monkey-mini-app/references/contracts/switch.md +25 -0
- package/skills/monkey-mini-app/references/contracts/table-page.md +41 -0
- package/skills/monkey-mini-app/references/contracts/table.md +42 -0
- package/skills/monkey-mini-app/references/contracts/tabs.md +31 -0
- package/skills/monkey-mini-app/references/contracts/tag-input.md +12 -2
- package/skills/monkey-mini-app/references/contracts/terminal.md +13 -2
- package/skills/monkey-mini-app/references/contracts/test-step-list.md +12 -2
- package/skills/monkey-mini-app/references/contracts/textarea.md +25 -0
- package/skills/monkey-mini-app/references/contracts/time-picker.md +18 -2
- package/skills/monkey-mini-app/references/contracts/time-range-picker.md +20 -2
- package/skills/monkey-mini-app/references/contracts/time-wheel.md +6 -2
- package/skills/monkey-mini-app/references/contracts/timeline.md +20 -2
- package/skills/monkey-mini-app/references/contracts/timezone-select.md +20 -2
- package/skills/monkey-mini-app/references/contracts/toast.md +39 -0
- package/skills/monkey-mini-app/references/contracts/toggle-group.md +28 -0
- package/skills/monkey-mini-app/references/contracts/toggle.md +26 -0
- package/skills/monkey-mini-app/references/contracts/tooltip.md +30 -0
- package/skills/monkey-mini-app/references/contracts/transfer.md +12 -2
- package/skills/monkey-mini-app/references/contracts/tree-view.md +20 -2
- package/skills/monkey-mini-app/references/contracts/trend-card.md +12 -2
- package/skills/monkey-mini-app/references/contracts/user-picker.md +12 -2
- package/skills/monkey-mini-app/references/contracts/wizard-shell.md +56 -0
- package/skills/monkey-mini-app/references/ctx.md +123 -53
- package/skills/monkey-mini-app/references/eval.md +115 -0
- package/skills/monkey-mini-app/references/examples/alert/alert-01.tsx +17 -0
- package/skills/monkey-mini-app/references/examples/aspect-ratio/aspect-ratio-01.tsx +16 -0
- package/skills/monkey-mini-app/references/examples/attachment/attachment-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/breadcrumb/breadcrumb-01.tsx +31 -0
- package/skills/monkey-mini-app/references/examples/bubble/bubble-01.tsx +16 -0
- package/skills/monkey-mini-app/references/examples/button-group/button-group-01.tsx +23 -0
- package/skills/monkey-mini-app/references/examples/card/card-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/charts-blocks.md +15 -0
- package/skills/monkey-mini-app/references/examples/code-block/code-block-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/code-editor/code-editor-01.tsx +15 -0
- package/skills/monkey-mini-app/references/examples/command/command-01.tsx +30 -0
- package/skills/monkey-mini-app/references/examples/confirm-dialog/confirm-dialog-01.tsx +33 -0
- package/skills/monkey-mini-app/references/examples/context-menu/context-menu-01.tsx +29 -0
- package/skills/monkey-mini-app/references/examples/dashboard-shell/dashboard-shell-01.tsx +78 -0
- package/skills/monkey-mini-app/references/examples/data-grid/data-grid-01.tsx +34 -0
- package/skills/monkey-mini-app/references/examples/data-grid/data-grid-02.tsx +88 -0
- package/skills/monkey-mini-app/references/examples/date-picker/date-picker-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/date-range-picker/date-range-picker-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/date-time-picker/date-time-picker-01.tsx +16 -0
- package/skills/monkey-mini-app/references/examples/date-time-range-picker/date-time-range-picker-01.tsx +15 -0
- package/skills/monkey-mini-app/references/examples/detail-panel/detail-panel-01.tsx +21 -0
- package/skills/monkey-mini-app/references/examples/dialog/dialog-01.tsx +30 -0
- package/skills/monkey-mini-app/references/examples/diff-viewer/diff-viewer-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/dropdown-menu/dropdown-menu-01.tsx +31 -0
- package/skills/monkey-mini-app/references/examples/duration-input/duration-input-01.tsx +20 -0
- package/skills/monkey-mini-app/references/examples/editors.md +11 -0
- package/skills/monkey-mini-app/references/examples/empty/empty-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/event-calendar/event-calendar-01.tsx +53 -0
- package/skills/monkey-mini-app/references/examples/file-dropzone/file-dropzone-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/form-sheet/form-sheet-01.tsx +85 -0
- package/skills/monkey-mini-app/references/examples/forms.md +16 -0
- package/skills/monkey-mini-app/references/examples/gantt/gantt-01.tsx +29 -0
- package/skills/monkey-mini-app/references/examples/input/input-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/item/item-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/jql-input/jql-input-01.tsx +33 -0
- package/skills/monkey-mini-app/references/examples/json-viewer/json-viewer-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/kanban/kanban-01.tsx +60 -0
- package/skills/monkey-mini-app/references/examples/label/label-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/list-detail/list-detail-01.tsx +117 -0
- package/skills/monkey-mini-app/references/examples/log-viewer/log-viewer-01.tsx +20 -0
- package/skills/monkey-mini-app/references/examples/markdown-editor/markdown-editor-01.tsx +18 -0
- package/skills/monkey-mini-app/references/examples/marker/marker-01.tsx +16 -0
- package/skills/monkey-mini-app/references/examples/mini-calendar/mini-calendar-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-01.tsx +20 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-02.tsx +32 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-03.tsx +47 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-04.tsx +20 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-05.tsx +24 -0
- package/skills/monkey-mini-app/references/examples/misc-charts-blocks/misc-charts-blocks-06.tsx +89 -0
- package/skills/monkey-mini-app/references/examples/misc-editors/misc-editors-01.tsx +114 -0
- package/skills/monkey-mini-app/references/examples/misc-editors/misc-editors-02.tsx +33 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-01.tsx +22 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-02.tsx +37 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-03.tsx +42 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-04.tsx +25 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-05.tsx +27 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-06.tsx +33 -0
- package/skills/monkey-mini-app/references/examples/misc-forms/misc-forms-07.tsx +44 -0
- package/skills/monkey-mini-app/references/examples/misc-overlays/misc-overlays-01.tsx +43 -0
- package/skills/monkey-mini-app/references/examples/misc-overlays/misc-overlays-02.tsx +38 -0
- package/skills/monkey-mini-app/references/examples/misc-primitives/misc-primitives-01.tsx +21 -0
- package/skills/monkey-mini-app/references/examples/misc-primitives/misc-primitives-02.tsx +52 -0
- package/skills/monkey-mini-app/references/examples/misc-primitives/misc-primitives-03.tsx +44 -0
- package/skills/monkey-mini-app/references/examples/number-field/number-field-01.tsx +22 -0
- package/skills/monkey-mini-app/references/examples/overlays.md +11 -0
- package/skills/monkey-mini-app/references/examples/pagination/pagination-01.tsx +51 -0
- package/skills/monkey-mini-app/references/examples/primitives.md +12 -0
- package/skills/monkey-mini-app/references/examples/progress/progress-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/relative-date-picker/relative-date-picker-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/rich-text-editor/rich-text-editor-01.tsx +15 -0
- package/skills/monkey-mini-app/references/examples/run-timeline/run-timeline-01.tsx +17 -0
- package/skills/monkey-mini-app/references/examples/scrollspy/scrollspy-01.tsx +29 -0
- package/skills/monkey-mini-app/references/examples/separator/separator-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/settings-split/settings-split-01.tsx +84 -0
- package/skills/monkey-mini-app/references/examples/shared/jira-wiki-sample.ts +38 -0
- package/skills/monkey-mini-app/references/examples/skeleton/skeleton-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/slider/slider-01.tsx +22 -0
- package/skills/monkey-mini-app/references/examples/sortable-list/sortable-list-01.tsx +18 -0
- package/skills/monkey-mini-app/references/examples/spinner/spinner-01.tsx +10 -0
- package/skills/monkey-mini-app/references/examples/stepper/stepper-01.tsx +41 -0
- package/skills/monkey-mini-app/references/examples/table/table-01.tsx +25 -0
- package/skills/monkey-mini-app/references/examples/table-page/table-page-01.tsx +103 -0
- package/skills/monkey-mini-app/references/examples/time-picker/time-picker-01.tsx +19 -0
- package/skills/monkey-mini-app/references/examples/time-range-picker/time-range-picker-01.tsx +14 -0
- package/skills/monkey-mini-app/references/examples/timeline/timeline-01.tsx +18 -0
- package/skills/monkey-mini-app/references/examples/timezone-select/timezone-select-01.tsx +15 -0
- package/skills/monkey-mini-app/references/examples/toggle/toggle-01.tsx +20 -0
- package/skills/monkey-mini-app/references/examples/toggle-group/toggle-group-01.tsx +22 -0
- package/skills/monkey-mini-app/references/examples/tree-view/tree-view-01.tsx +25 -0
- package/skills/monkey-mini-app/references/examples/wizard-shell/wizard-shell-01.tsx +58 -0
- package/skills/monkey-mini-app/references/history.md +23 -7
- package/skills/monkey-mini-app/references/icons.md +99 -69
- package/skills/monkey-mini-app/references/llm-json.md +39 -26
- package/skills/monkey-mini-app/references/loader.md +47 -20
- package/skills/monkey-mini-app/references/looks/aurora-bento.md +88 -0
- package/skills/monkey-mini-app/references/looks/desk-split.md +89 -0
- package/skills/monkey-mini-app/references/looks/editorial.md +78 -0
- package/skills/monkey-mini-app/references/looks/glass-island.md +90 -0
- package/skills/monkey-mini-app/references/looks/index.md +18 -0
- package/skills/monkey-mini-app/references/looks/signage.md +74 -0
- package/skills/monkey-mini-app/references/looks/tape.md +22 -0
- package/skills/monkey-mini-app/references/looks/terminal.md +88 -0
- package/skills/monkey-mini-app/references/looks/void.md +22 -0
- package/skills/monkey-mini-app/references/styling.md +189 -0
- package/skills/monkey-mini-app/references/test.md +12 -12
- package/skills/monkey-mini-app/references/theme.md +197 -0
- package/skills/monkey-mini-app/references/tools.md +12 -12
- package/skills/monkey-mini-app/references/troubleshoot.md +165 -12
- package/skills/monkey-mini-app/templates/README.md +33 -21
- package/skills/monkey-mini-app/templates/{jira → board}/main.api.ts +11 -11
- package/skills/monkey-mini-app/templates/board/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/board/theme.css +46 -0
- package/skills/monkey-mini-app/templates/board/ui.tsx +546 -0
- package/skills/monkey-mini-app/templates/chores/main.api.ts +35 -0
- package/skills/monkey-mini-app/templates/chores/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/chores/theme.css +46 -0
- package/skills/monkey-mini-app/templates/chores/ui.tsx +117 -0
- package/skills/monkey-mini-app/templates/minimal/main.api.ts +5 -5
- package/skills/monkey-mini-app/templates/minimal/manifest.json +1 -2
- package/skills/monkey-mini-app/templates/minimal/ui.tsx +17 -8
- package/skills/monkey-mini-app/templates/radar/api/scan.ts +79 -0
- package/skills/monkey-mini-app/templates/radar/main.api.ts +29 -0
- package/skills/monkey-mini-app/templates/radar/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/radar/shared/events.ts +25 -0
- package/skills/monkey-mini-app/templates/{insights/lib → radar/shared}/sample.ts +1 -1
- package/skills/monkey-mini-app/templates/radar/theme.css +47 -0
- package/skills/monkey-mini-app/templates/radar/ui/brief.tsx +31 -0
- package/skills/monkey-mini-app/templates/radar/ui.tsx +131 -0
- package/skills/monkey-mini-app/templates/runner/main.api.ts +91 -0
- package/skills/monkey-mini-app/templates/runner/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/runner/shared/events.ts +14 -0
- package/skills/monkey-mini-app/templates/runner/theme.css +46 -0
- package/skills/monkey-mini-app/templates/runner/ui.tsx +213 -0
- package/skills/monkey-mini-app/templates/sheets/main.api.ts +276 -0
- package/skills/monkey-mini-app/templates/sheets/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/sheets/theme.css +46 -0
- package/skills/monkey-mini-app/templates/sheets/ui.tsx +419 -0
- package/skills/monkey-mini-app/templates/{todo → today}/main.api.ts +8 -8
- package/skills/monkey-mini-app/templates/today/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/today/theme.css +45 -0
- package/skills/monkey-mini-app/templates/today/ui/item-row.tsx +25 -0
- package/skills/monkey-mini-app/templates/today/ui.tsx +406 -0
- package/skills/monkey-mini-app/templates/{monitor → watch}/main.api.ts +8 -8
- package/skills/monkey-mini-app/templates/watch/manifest.json +8 -0
- package/skills/monkey-mini-app/templates/watch/ui.tsx +187 -0
- package/skills/monkey-mini-app/tsconfig.json +31 -0
- package/skills/monkey-mini-app/types/cdn.d.ts +1 -0
- package/tsup.config.ts +1 -0
- package/skills/monkey-mini-app/templates/agentrun/main.api.ts +0 -78
- package/skills/monkey-mini-app/templates/agentrun/manifest.json +0 -9
- package/skills/monkey-mini-app/templates/agentrun/ui.tsx +0 -125
- package/skills/monkey-mini-app/templates/insights/main.api.ts +0 -101
- package/skills/monkey-mini-app/templates/insights/manifest.json +0 -9
- package/skills/monkey-mini-app/templates/insights/ui.tsx +0 -138
- package/skills/monkey-mini-app/templates/jira/manifest.json +0 -9
- package/skills/monkey-mini-app/templates/jira/ui.tsx +0 -318
- package/skills/monkey-mini-app/templates/monitor/manifest.json +0 -9
- package/skills/monkey-mini-app/templates/monitor/ui.tsx +0 -176
- package/skills/monkey-mini-app/templates/review/main.api.ts +0 -68
- package/skills/monkey-mini-app/templates/review/manifest.json +0 -9
- package/skills/monkey-mini-app/templates/review/ui.tsx +0 -159
- package/skills/monkey-mini-app/templates/todo/manifest.json +0 -8
- package/skills/monkey-mini-app/templates/todo/ui.tsx +0 -177
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Textarea (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Multi-line text input.
|
|
6
|
+
|
|
7
|
+
**when** Notes/prompts. Code → `CodeEditor`; markdown → `MarkdownEditor`.
|
|
8
|
+
|
|
9
|
+
`import { Textarea } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/textarea.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Textarea` | — |
|
|
18
|
+
|
|
19
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
20
|
+
|
|
21
|
+
## Skeleton
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Textarea rows={4} value={v} onChange={(e) => set(e.target.value)} />
|
|
25
|
+
```
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TimePicker
|
|
4
4
|
|
|
5
5
|
`value` is `HH:mm` (24h).
|
|
6
6
|
|
|
7
|
+
**when** Clock-only fields. `value` is a string, not a Date.
|
|
8
|
+
|
|
7
9
|
`import { TimePicker } from "@monkey-mini-app/ui"`
|
|
8
10
|
|
|
9
|
-
`packages/ui/src/composites/time-picker.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/time-picker.tsx` · family: Calendar & date · type: composite
|
|
10
12
|
|
|
11
13
|
## Props
|
|
12
14
|
|
|
@@ -16,3 +18,17 @@
|
|
|
16
18
|
| `disabled` | `boolean \| undefined` | | |
|
|
17
19
|
| `onChange` | `((value: string) => void) \| undefined` | | |
|
|
18
20
|
| `value` | `string \| undefined` | | |
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
<TimePicker value="09:30" onChange={(v) => set(v)} />
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
31
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
32
|
+
Pick by **scenario**, then open the file you need.
|
|
33
|
+
|
|
34
|
+
- **[time-picker-01.tsx](../examples/time-picker/time-picker-01.tsx)** — TimePicker — Time-of-day only (no date) for windows like a daily cron or shift start.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TimeRangePicker
|
|
4
4
|
|
|
5
|
+
From/to time of day.
|
|
6
|
+
|
|
7
|
+
**when** Daily windows (maintenance 02:00–04:00).
|
|
8
|
+
|
|
5
9
|
`import { TimeRangePicker, TimeRange } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/time-range-picker.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/time-range-picker.tsx` · family: Calendar & date · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -21,3 +25,17 @@
|
|
|
21
25
|
|---|---|:---:|---|
|
|
22
26
|
| `end` | `string` | ✓ | |
|
|
23
27
|
| `start` | `string` | ✓ | |
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<TimeRangePicker onChange={(r) => set(r)} />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Examples
|
|
36
|
+
|
|
37
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
38
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
39
|
+
Pick by **scenario**, then open the file you need.
|
|
40
|
+
|
|
41
|
+
- **[time-range-picker-01.tsx](../examples/time-range-picker/time-range-picker-01.tsx)** — TimeRangePicker — Start/end time-of-day pair, e.g. a maintenance window inside one day.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TimeWheel
|
|
4
4
|
|
|
5
|
+
Column wheel for picking a time value.
|
|
6
|
+
|
|
7
|
+
**when** Inside a time picker where tapping a list beats typing. Prefer `TimePicker` for a normal field.
|
|
8
|
+
|
|
5
9
|
`import { TimeWheel, TimePickerProps } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/time-picker.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/time-picker.tsx` · family: Calendar & date · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Timeline
|
|
4
4
|
|
|
5
|
+
Vertical ordered events.
|
|
6
|
+
|
|
7
|
+
**when** Statuses/history without durations. Durations → `RunTimeline`.
|
|
8
|
+
|
|
5
9
|
`import { Timeline, TimelineItem } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/timeline.tsx` ·
|
|
11
|
+
`packages/ui/src/products/timeline.tsx` · family: Realtime · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -22,3 +26,17 @@
|
|
|
22
26
|
| `id` | `string` | ✓ | |
|
|
23
27
|
| `time` | `string \| undefined` | | |
|
|
24
28
|
| `title` | `string` | ✓ | |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Timeline items={[{ id: "1", title: "已创建", time: "09:00" }]} />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
39
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
40
|
+
Pick by **scenario**, then open the file you need.
|
|
41
|
+
|
|
42
|
+
- **[timeline-01.tsx](../examples/timeline/timeline-01.tsx)** — Timeline — Chronological feed of events with actor + timestamp — deploy history, audit trail (compare RunTimeline for one job's steps).
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TimezoneSelect
|
|
4
4
|
|
|
5
|
+
IANA timezone dropdown.
|
|
6
|
+
|
|
7
|
+
**when** Pair with `DateTimePicker` when data is UTC.
|
|
8
|
+
|
|
5
9
|
`import { TimezoneSelect, ZoneInfo } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/timezone-select.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/timezone-select.tsx` · family: Calendar & date · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -25,3 +29,17 @@
|
|
|
25
29
|
| `offset` | `string` | ✓ | |
|
|
26
30
|
| `region` | `string` | ✓ | |
|
|
27
31
|
| `search` | `string` | ✓ | |
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<TimezoneSelect value={tz} onChange={(v) => set(v)} />
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
42
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
43
|
+
Pick by **scenario**, then open the file you need.
|
|
44
|
+
|
|
45
|
+
- **[timezone-select-01.tsx](../examples/timezone-select/timezone-select-01.tsx)** — TimezoneSelect — IANA timezone chosen from common zones first, searchable — pair with DateTimePicker when schedules cross regions. — _*Common zones first; type to search the rest*_
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Toast (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Transient notification (provider + viewport + `toast()`).
|
|
6
|
+
|
|
7
|
+
**when** Confirm/save failures. The host already mounts the provider — call `toast(...)`.
|
|
8
|
+
|
|
9
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
10
|
+
|
|
11
|
+
`import { Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, createToastManager, toast, useToastManager } from "@monkey-mini-app/ui"`
|
|
12
|
+
|
|
13
|
+
`packages/ui/src/components/toast.tsx` · family: Feedback & status · type: component · primitive
|
|
14
|
+
|
|
15
|
+
## Parts
|
|
16
|
+
|
|
17
|
+
| part | own props |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `Toast` | `render?` `swipeDirection?` `toast` |
|
|
20
|
+
| `ToastAction` | `nativeButton?` `render?` |
|
|
21
|
+
| `ToastClose` | `nativeButton?` `render?` |
|
|
22
|
+
| `ToastContent` | `render?` |
|
|
23
|
+
| `ToastDescription` | `render?` |
|
|
24
|
+
| `ToastPortal` | `container?` `render?` |
|
|
25
|
+
| `ToastProvider` | `limit?` `timeout?` `toastManager?` |
|
|
26
|
+
| `ToastTitle` | `render?` |
|
|
27
|
+
| `ToastViewport` | `render?` |
|
|
28
|
+
| `Toaster` | `limit?` `timeout?` `toastManager?` |
|
|
29
|
+
| `createToastManager` (hook/util) | — |
|
|
30
|
+
| `toast` (hook/util) | — |
|
|
31
|
+
| `useToastManager` (hook/util) | — |
|
|
32
|
+
|
|
33
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
34
|
+
|
|
35
|
+
## Skeleton
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
toast({ title: "已保存", description: "2 条更新" })
|
|
39
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# ToggleGroup (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Multiple independent on/off buttons; exclusive selection → `Tabs`/`ButtonGroup`.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { ToggleGroup, ToggleGroupItem } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/toggle-group.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `ToggleGroup` | `disabled?` `loopFocus?` `multiple?` `onValueChange?` `orientation?=vertical/horizontal` `render?` `size?=default/sm/lg` `spacing?` `value?` `variant?=default/outline` |
|
|
18
|
+
| `ToggleGroupItem` | `defaultPressed?` `disabled?` `nativeButton?` `onPressedChange?` `pressed?` `render?` `size?=default/sm/lg` `value?` `variant?=default/outline` |
|
|
19
|
+
|
|
20
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
25
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
26
|
+
Pick by **scenario**, then open the file you need.
|
|
27
|
+
|
|
28
|
+
- **[toggle-group-01.tsx](../examples/toggle-group/toggle-group-01.tsx)** — ToggleGroup — Mutually exclusive set of Toggle buttons for a view choice (alignment, density) held as one value.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Toggle (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Binary formatting switch (bold, filters on).
|
|
6
|
+
|
|
7
|
+
`import { Toggle, toggleVariants } from "@monkey-mini-app/ui"`
|
|
8
|
+
|
|
9
|
+
`packages/ui/src/components/toggle.tsx` · family: Form · type: component · primitive
|
|
10
|
+
|
|
11
|
+
## Parts
|
|
12
|
+
|
|
13
|
+
| part | own props |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `Toggle` | `defaultPressed?` `disabled?` `nativeButton?` `onPressedChange?` `pressed?` `render?` `size?=default/sm/lg` `value?` `variant?=default/outline` |
|
|
16
|
+
| `toggleVariants` (hook/util) | `class?` `size?=default/sm/lg` `variant?=default/outline` |
|
|
17
|
+
|
|
18
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
23
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
24
|
+
Pick by **scenario**, then open the file you need.
|
|
25
|
+
|
|
26
|
+
- **[toggle-01.tsx](../examples/toggle/toggle-01.tsx)** — Toggle — Single pressed/unpressed icon button (bold, mute) — one binary view option, not a form value; use Switch for settings on/off.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Tooltip (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Hover/focus hint on an icon or truncated label.
|
|
6
|
+
|
|
7
|
+
**when** Explaining an icon-only button. Never put an action in it.
|
|
8
|
+
|
|
9
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
10
|
+
|
|
11
|
+
`import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@monkey-mini-app/ui"`
|
|
12
|
+
|
|
13
|
+
`packages/ui/src/components/tooltip.tsx` · family: Surface · type: component · primitive
|
|
14
|
+
|
|
15
|
+
## Parts
|
|
16
|
+
|
|
17
|
+
| part | own props |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `Tooltip` | `actionsRef?` `defaultOpen?` `defaultTriggerId?` `disabled?` `disableHoverablePopup?` `handle?` `onOpenChange?` `onOpenChangeComplete?` `open?` `trackCursorAxis?=none/both/x/y` `triggerId?` |
|
|
20
|
+
| `TooltipContent` | `align?` `alignOffset?` `render?` `side?` `sideOffset?` |
|
|
21
|
+
| `TooltipProvider` | `closeDelay?` `delay?` `timeout?` |
|
|
22
|
+
| `TooltipTrigger` | `closeDelay?` `closeOnClick?` `delay?` `disabled?` `handle?` `payload?` `render?` |
|
|
23
|
+
|
|
24
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
25
|
+
|
|
26
|
+
## Skeleton
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
<Tooltip><TooltipTrigger asChild><Button size="icon" aria-label="刷新"><Icon.RefreshCw /></Button></TooltipTrigger><TooltipContent>刷新</TooltipContent></Tooltip>
|
|
30
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Transfer
|
|
4
4
|
|
|
5
|
+
Two-panel move-between-lists picker.
|
|
6
|
+
|
|
7
|
+
**when** Selecting many items from a known pool (assign users to a shift).
|
|
8
|
+
|
|
5
9
|
`import { Transfer, TransferItem } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/transfer.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/transfer.tsx` · family: Form · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -22,3 +26,9 @@
|
|
|
22
26
|
|---|---|:---:|---|
|
|
23
27
|
| `id` | `string` | ✓ | |
|
|
24
28
|
| `label` | `string` | ✓ | |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Transfer items={[{ id: "u1", label: "张三" }]} onChange={(ids) => set(ids)} />
|
|
34
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TreeView
|
|
4
4
|
|
|
5
|
+
Generic expandable node list.
|
|
6
|
+
|
|
7
|
+
**when** Any hierarchy without file semantics. Files → `FileTree`.
|
|
8
|
+
|
|
5
9
|
`import { TreeView, TreeNode } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/tree-view.tsx` ·
|
|
11
|
+
`packages/ui/src/products/tree-view.tsx` · family: Data & tables · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -21,3 +25,17 @@
|
|
|
21
25
|
| `children` | `TreeNode[] \| undefined` | | |
|
|
22
26
|
| `id` | `string` | ✓ | |
|
|
23
27
|
| `label` | `string` | ✓ | |
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<TreeView nodes={[{ id: "a", label: "华东" }]} />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Examples
|
|
36
|
+
|
|
37
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
38
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
39
|
+
Pick by **scenario**, then open the file you need.
|
|
40
|
+
|
|
41
|
+
- **[tree-view-01.tsx](../examples/tree-view/tree-view-01.tsx)** — TreeView — Nested hierarchy with expand/collapse and selection — file tree, org chart, category taxonomy.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# TrendCard
|
|
4
4
|
|
|
5
|
+
KPI card with a trend series.
|
|
6
|
+
|
|
7
|
+
**when** Metric + direction over time. Metric only → `StatCard`.
|
|
8
|
+
|
|
5
9
|
`import { TrendCard, TrendPoint } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/blocks/trend-card.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/trend-card.tsx` · family: Chart & data · type: block
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -24,3 +28,9 @@
|
|
|
24
28
|
|---|---|:---:|---|
|
|
25
29
|
| `label` | `string` | ✓ | |
|
|
26
30
|
| `value` | `number` | ✓ | |
|
|
31
|
+
|
|
32
|
+
## Example
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
<TrendCard title="请求数" value="1.2k" trend="up" data={[{ value: 9 }, { value: 12 }]} />
|
|
36
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# UserPicker
|
|
4
4
|
|
|
5
|
+
Pick a user from a list (avatar + name).
|
|
6
|
+
|
|
7
|
+
**when** Assignee/owner fields; you supply the user list.
|
|
8
|
+
|
|
5
9
|
`import { UserPicker, UserOption } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/user-picker.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/user-picker.tsx` · family: Form · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -22,3 +26,9 @@
|
|
|
22
26
|
|---|---|:---:|---|
|
|
23
27
|
| `id` | `string` | ✓ | |
|
|
24
28
|
| `name` | `string` | ✓ | |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<UserPicker users={[{ id: "u1", name: "张三" }]} onChange={(id) => set(id)} />
|
|
34
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# WizardShell
|
|
4
|
+
|
|
5
|
+
Multi-step flow: step rail on top, scrolling body, action row that never moves. Hand-rolled, a wizard's footer rides along inside the scrolling column, so every step change jumps the buttons to a different height and the user chases them with the cursor; and Next is enabled into an invalid step because the validity check lives in the form and the button lives outside it. Here the footer is a `shrink-0` sibling of the scroller, and Next/Finish are disabled straight from `steps[index].valid`, which is the only place that can know.
|
|
6
|
+
|
|
7
|
+
**when** Page shape: create / import / onboarding, one step at a time with validation per step
|
|
8
|
+
|
|
9
|
+
`import { WizardShell, WizardStep } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/wizard-shell.tsx` · family: Layout & structure · type: block
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `body` | `ReactNode` | ✓ | Current step's content. The only scrolling area. |
|
|
18
|
+
| `className` | `string \| undefined` | | |
|
|
19
|
+
| `footer` | `ReactNode` | | Replaces the generated Back/Next/Finish row (a preview pane, a second action…). |
|
|
20
|
+
| `index` | `number` | ✓ | Which step is showing. The app owns it — the preset never navigates on its own. |
|
|
21
|
+
| `onBack` | `(() => void) \| undefined` | | |
|
|
22
|
+
| `onNext` | `(() => void) \| undefined` | | |
|
|
23
|
+
| `onSubmit` | `(() => void) \| undefined` | | Fires on the last step's primary action. Without it the last step still shows Next. |
|
|
24
|
+
| `steps` | `WizardStep[]` | ✓ | The steps, in order. The rail is generated from this, so it cannot disagree with the body. |
|
|
25
|
+
| `submitting` | `boolean \| undefined` | | Greys the primary action and swaps in the busy label. |
|
|
26
|
+
|
|
27
|
+
## Types
|
|
28
|
+
|
|
29
|
+
### `WizardStep`
|
|
30
|
+
|
|
31
|
+
| field | type | required | note |
|
|
32
|
+
|---|---|:---:|---|
|
|
33
|
+
| `id` | `string` | ✓ | |
|
|
34
|
+
| `label` | `string` | ✓ | |
|
|
35
|
+
| `valid` | `boolean \| undefined` | | Pass `false` while the step's form is incomplete — Next disables itself. Omit to allow. |
|
|
36
|
+
|
|
37
|
+
## Example
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<WizardShell
|
|
41
|
+
steps={[{ id: "pick", label: "Choose file", valid: Boolean(file) }, { id: "map", label: "Map columns", valid: mapped }]}
|
|
42
|
+
index={step}
|
|
43
|
+
body={<StepBody />}
|
|
44
|
+
onBack={() => setStep((s) => s - 1)}
|
|
45
|
+
onNext={() => setStep((s) => s + 1)}
|
|
46
|
+
onSubmit={() => void run()}
|
|
47
|
+
/>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
|
|
52
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
53
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
54
|
+
Pick by **scenario**, then open the file you need.
|
|
55
|
+
|
|
56
|
+
- **[wizard-shell-01.tsx](../examples/wizard-shell/wizard-shell-01.tsx)** — WizardShell — Three-step import in a fixed-height panel: the step rail tracks progress, the body scrolls, and Back/Next stay exactly where they were across every step change. — _*Step 2 starts invalid — Next is disabled until the mapping is filled in*_
|