@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,40 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Empty (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Empty-state block: media + title + description + action.
|
|
6
|
+
|
|
7
|
+
**when** Any list/panel with no rows — pair media with an `Illu*`.
|
|
8
|
+
|
|
9
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
10
|
+
|
|
11
|
+
`import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "@monkey-mini-app/ui"`
|
|
12
|
+
|
|
13
|
+
`packages/ui/src/components/empty.tsx` · family: Feedback & status · type: component · primitive
|
|
14
|
+
|
|
15
|
+
## Parts
|
|
16
|
+
|
|
17
|
+
| part | own props |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `Empty` | `description?` |
|
|
20
|
+
| `EmptyContent` | — |
|
|
21
|
+
| `EmptyDescription` | — |
|
|
22
|
+
| `EmptyHeader` | — |
|
|
23
|
+
| `EmptyMedia` | `variant?=default/icon` |
|
|
24
|
+
| `EmptyTitle` | — |
|
|
25
|
+
|
|
26
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
27
|
+
|
|
28
|
+
## Skeleton
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<Empty><EmptyHeader><EmptyMedia variant="icon"><IlluEmpty /></EmptyMedia><EmptyTitle>还没有数据</EmptyTitle><EmptyDescription>点右上角添加</EmptyDescription></EmptyHeader></Empty>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Examples
|
|
35
|
+
|
|
36
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
37
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
38
|
+
Pick by **scenario**, then open the file you need.
|
|
39
|
+
|
|
40
|
+
- **[empty-01.tsx](../examples/empty/empty-01.tsx)** — Empty — First-run / no-results state with illustration slot, title, description and a primary action; use instead of a blank card.
|
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# EnvBadge
|
|
4
4
|
|
|
5
|
+
Coloured pill for an environment name.
|
|
6
|
+
|
|
7
|
+
**when** prd / stg / dev markers in headers and tables.
|
|
8
|
+
|
|
5
9
|
`import { EnvBadge } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/blocks/env-badge.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/env-badge.tsx` · family: Feedback & status · type: block
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
11
15
|
| field | type | required | note |
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `env` | `string` | ✓ | |
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<EnvBadge env="production" />
|
|
23
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# EnvTable
|
|
4
|
+
|
|
5
|
+
Read-only env var table with masked values and copy.
|
|
6
|
+
|
|
7
|
+
**when** Settings / deploy preview / secrets display
|
|
8
|
+
|
|
9
|
+
`import { EnvTable, Environment, EnvVariable } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/env-table.tsx` · family: Data & tables · type: block
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
Extends `Omit<React.ComponentProps<"div">, "children" | "title">` — those HTML/ARIA props are not repeated below.
|
|
16
|
+
|
|
17
|
+
| field | type | required | note |
|
|
18
|
+
|---|---|:---:|---|
|
|
19
|
+
| `defaultRevealed` | `boolean \| undefined` | | Start with all values revealed. Defaults to false. |
|
|
20
|
+
| `title` | `string \| undefined` | | Optional heading above the table. |
|
|
21
|
+
| `variables` | `EnvVariable[]` | ✓ | Environment variables to display. |
|
|
22
|
+
|
|
23
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
24
|
+
|
|
25
|
+
## Types
|
|
26
|
+
|
|
27
|
+
### `Environment`
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
| "production" | "preview" | "development" | (string & {})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### `EnvVariable`
|
|
34
|
+
|
|
35
|
+
| field | type | required | note |
|
|
36
|
+
|---|---|:---:|---|
|
|
37
|
+
| `description` | `string \| undefined` | | Optional description shown below the key. |
|
|
38
|
+
| `environment` | `Environment \| undefined` | | Target environment. When provided, renders as a pill. |
|
|
39
|
+
| `key` | `string` | ✓ | Variable name (e.g. DATABASE_URL). |
|
|
40
|
+
| `value` | `string` | ✓ | Variable value. Masked by default. |
|
|
41
|
+
|
|
42
|
+
## Example
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<EnvTable variables={[{ key: "API_URL", value: "https://…", environment: "production" }]} />
|
|
46
|
+
```
|
|
@@ -1,50 +1,58 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# EventCalendar
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Drag empty slots to create; click event to edit. Week/day have all-day row.
|
|
5
|
+
Full calendar (day / week / month / year / agenda). Event shape matches yassir-jeraidi/full-calendar: { id, title, startDate, endDate, color, description, user }.
|
|
7
6
|
|
|
8
7
|
**when** Scheduling, on-call, release windows
|
|
9
8
|
|
|
10
|
-
`import { EventCalendar,
|
|
9
|
+
`import { EventCalendar, TCalendarView, IUser, TEventColor } from "@monkey-mini-app/ui"`
|
|
11
10
|
|
|
12
|
-
`packages/ui/src/products/event-calendar.tsx` ·
|
|
11
|
+
`packages/ui/src/products/event-calendar.tsx` · family: Calendar & date · type: product
|
|
13
12
|
|
|
14
13
|
## Props
|
|
15
14
|
|
|
16
15
|
| field | type | required | note |
|
|
17
16
|
|---|---|:---:|---|
|
|
18
17
|
| `className` | `string \| undefined` | | |
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `onViewChange` | `((view: CalendarView) => void) \| undefined` | | |
|
|
25
|
-
| `value` | `Date \| undefined` | | |
|
|
26
|
-
| `view` | `CalendarView \| undefined` | | |
|
|
18
|
+
| `date` | `Date \| undefined` | | |
|
|
19
|
+
| `events` | `IEvent[]` | ✓ | |
|
|
20
|
+
| `onEventsChange` | `((events: IEvent[]) => void) \| undefined` | | |
|
|
21
|
+
| `users` | `IUser[] \| undefined` | | |
|
|
22
|
+
| `view` | `TCalendarView \| undefined` | | |
|
|
27
23
|
|
|
28
24
|
## Types
|
|
29
25
|
|
|
30
|
-
### `
|
|
26
|
+
### `TCalendarView`
|
|
31
27
|
|
|
32
28
|
```ts
|
|
33
|
-
"
|
|
29
|
+
"day" | "week" | "month" | "year" | "agenda"
|
|
34
30
|
```
|
|
35
31
|
|
|
36
|
-
### `
|
|
32
|
+
### `IUser`
|
|
37
33
|
|
|
38
34
|
| field | type | required | note |
|
|
39
35
|
|---|---|:---:|---|
|
|
40
|
-
| `allDay` | `boolean \| undefined` | | |
|
|
41
|
-
| `end` | `Date` | ✓ | |
|
|
42
36
|
| `id` | `string` | ✓ | |
|
|
43
|
-
| `
|
|
44
|
-
| `
|
|
37
|
+
| `name` | `string` | ✓ | |
|
|
38
|
+
| `picturePath` | `string \| null` | ✓ | |
|
|
39
|
+
|
|
40
|
+
### `TEventColor`
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
| "blue" | "green" | "red" | "yellow" | "purple" | "orange"
|
|
44
|
+
```
|
|
45
45
|
|
|
46
46
|
## Example
|
|
47
47
|
|
|
48
48
|
```tsx
|
|
49
49
|
<EventCalendar events={events} onEventsChange={setEvents} view="week" />
|
|
50
50
|
```
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
55
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
56
|
+
Pick by **scenario**, then open the file you need.
|
|
57
|
+
|
|
58
|
+
- **[event-calendar-01.tsx](../examples/event-calendar/event-calendar-01.tsx)** — EventCalendar — Month view of events the user can drag/resize, with the model kept in app state via onEventsChange.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Field (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Any form row that must read well and stay accessible.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/field.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Field` | `orientation?=vertical/horizontal/responsive` |
|
|
18
|
+
| `FieldContent` | — |
|
|
19
|
+
| `FieldDescription` | — |
|
|
20
|
+
| `FieldError` | `errors?` |
|
|
21
|
+
| `FieldGroup` | — |
|
|
22
|
+
| `FieldLabel` | — |
|
|
23
|
+
| `FieldLegend` | `variant?=label/legend` |
|
|
24
|
+
| `FieldSeparator` | — |
|
|
25
|
+
| `FieldSet` | — |
|
|
26
|
+
| `FieldTitle` | — |
|
|
27
|
+
|
|
28
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
29
|
+
|
|
30
|
+
## Skeleton
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Field><FieldLabel htmlFor="n">名称</FieldLabel><Input id="n" /><FieldDescription>显示在列表里</FieldDescription></Field>
|
|
34
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# FileDropzone
|
|
4
4
|
|
|
5
|
+
Drag-drop + click file picker.
|
|
6
|
+
|
|
7
|
+
**when** Getting a local File into the app (then upload via `ctx.http` in the api layer).
|
|
8
|
+
|
|
5
9
|
`import { FileDropzone } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/file-dropzone.tsx` ·
|
|
11
|
+
`packages/ui/src/products/file-dropzone.tsx` · family: Form · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -12,3 +16,17 @@
|
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `files` | `File[] \| undefined` | | |
|
|
14
18
|
| `onFiles` | `((files: File[]) => void) \| undefined` | | |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
<FileDropzone onFiles={(fs) => set(fs)} />
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
29
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
30
|
+
Pick by **scenario**, then open the file you need.
|
|
31
|
+
|
|
32
|
+
- **[file-dropzone-01.tsx](../examples/file-dropzone/file-dropzone-01.tsx)** — FileDropzone — Drag-drop or click-to-pick file list with per-file name/size and a clear action; the UI half only — upload belongs in main.api.ts.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# FileTree
|
|
4
4
|
|
|
5
|
+
Expandable file/dir tree (icons built in).
|
|
6
|
+
|
|
7
|
+
**when** Repo/zip contents where selection matters. Plain nested list → `TreeView`.
|
|
8
|
+
|
|
5
9
|
`import { FileTree, TreeNode } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/blocks/file-tree.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/file-tree.tsx` · family: Data & tables · type: block
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -21,3 +25,9 @@
|
|
|
21
25
|
| `children` | `TreeNode[] \| undefined` | | |
|
|
22
26
|
| `id` | `string` | ✓ | |
|
|
23
27
|
| `label` | `string` | ✓ | |
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<FileTree nodes={[{ name: "src", children: [{ name: "main.api.ts" }] }]} />
|
|
33
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# FilterBar
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ Horizontal wrap row for filters and toolbar controls.
|
|
|
8
8
|
|
|
9
9
|
`import { FilterBar } from "@monkey-mini-app/ui"`
|
|
10
10
|
|
|
11
|
-
`packages/ui/src/blocks/filter-bar.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/filter-bar.tsx` · family: Data & tables · type: block
|
|
12
12
|
|
|
13
13
|
## Props
|
|
14
14
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# FormSheet
|
|
4
|
+
|
|
5
|
+
Create / edit form over a list you do not want to lose. The usual build has three cracks: the header and footer scroll away with the fields (so the Cancel button is somewhere the user has to hunt for), Enter in a text field submits *something else* or nothing because there is no form around the inputs, and Escape closes a sheet full of unsaved edits. Here only the body is a scroller — header, form and footer are siblings inside a flex column — the fields and the footer share one `<form onSubmit>`, and a dirty sheet asks first.
|
|
6
|
+
|
|
7
|
+
**when** Page shape: focused create/edit over a list — new record, edit record, wizard-less config
|
|
8
|
+
|
|
9
|
+
`import { FormSheet } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/form-sheet.tsx` · family: Layout & structure · type: block
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `children` | `React.ReactNode` | ✓ | The scrolling form fields. |
|
|
18
|
+
| `className` | `string \| undefined` | | |
|
|
19
|
+
| `description` | `React.ReactNode` | | |
|
|
20
|
+
| `dirty` | `boolean \| undefined` | | Ask before throwing edits away. The app owns the check; the preset owns the prompt. |
|
|
21
|
+
| `footer` | `React.ReactNode` | | Action row, pinned. Put the primary control in here with `type="submit"`. |
|
|
22
|
+
| `header` | `React.ReactNode` | | Anything below the title: a badge, a record id, a tab strip. |
|
|
23
|
+
| `onOpenChange` | `(open: boolean) => void` | ✓ | |
|
|
24
|
+
| `onSubmit` | `((e: FormEvent<HTMLFormElement>) => void) \| undefined` | | One submit path for the whole sheet: Enter in a field and the footer button land here. |
|
|
25
|
+
| `open` | `boolean` | ✓ | |
|
|
26
|
+
| `side` | `"top" \| "right" \| "bottom" \| "left" \| undefined` | | |
|
|
27
|
+
| `title` | `React.ReactNode` | ✓ | |
|
|
28
|
+
| `width` | `string \| number \| undefined` | | |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<FormSheet
|
|
34
|
+
open={Boolean(editing)}
|
|
35
|
+
onOpenChange={(o) => !o && setEditing(null)}
|
|
36
|
+
title="Edit issue"
|
|
37
|
+
dirty={dirty}
|
|
38
|
+
onSubmit={save}
|
|
39
|
+
footer={<Button type="submit">Save</Button>}
|
|
40
|
+
>
|
|
41
|
+
<Input name="summary" />
|
|
42
|
+
</FormSheet>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
48
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
49
|
+
Pick by **scenario**, then open the file you need.
|
|
50
|
+
|
|
51
|
+
- **[form-sheet-01.tsx](../examples/form-sheet/form-sheet-01.tsx)** — FormSheet — Edit a record over the list: title pinned, fields scrolling between the header and the action row, Enter and Save sharing one submit, and closing a dirty sheet asking first. — _*Change a field, then hit Escape — the discard prompt appears; without a change it closes straight away*_
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Gantt
|
|
4
4
|
|
|
5
|
+
Task bars on a date axis.
|
|
6
|
+
|
|
7
|
+
**when** Plans/schedules with start+end per row. Ordered events → `Timeline`.
|
|
8
|
+
|
|
5
9
|
`import { Gantt, GanttTask } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/gantt.tsx` ·
|
|
11
|
+
`packages/ui/src/products/gantt.tsx` · family: Calendar & date · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -22,3 +26,17 @@
|
|
|
22
26
|
| `id` | `string` | ✓ | |
|
|
23
27
|
| `start` | `Date` | ✓ | |
|
|
24
28
|
| `title` | `string` | ✓ | |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Gantt tasks={[{ id: "t1", name: "联调", start: "2026-09-01", end: "2026-09-05" }]} />
|
|
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
|
+
- **[gantt-01.tsx](../examples/gantt/gantt-01.tsx)** — Gantt — Time-phased bars for planning (tasks against a date axis) where dependency order and overlap matter more than exact times.
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Gauge
|
|
4
4
|
|
|
5
|
+
Arc gauge for one 0–100 metric.
|
|
6
|
+
|
|
7
|
+
**when** A single health/capacity number that needs a zone (SLO, disk). Series over time → `Sparkline`.
|
|
8
|
+
|
|
5
9
|
`import { Gauge } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/blocks/gauge.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/gauge.tsx` · family: Chart & data · type: block
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
11
15
|
| field | type | required | note |
|
|
12
16
|
|---|---|:---:|---|
|
|
17
|
+
| `className` | `string \| undefined` | | |
|
|
13
18
|
| `label` | `string \| undefined` | | |
|
|
19
|
+
| `size` | `number \| undefined` | | |
|
|
14
20
|
| `value` | `number` | ✓ | |
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
<Gauge value={73} label="磁盘" />
|
|
26
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# HoverCard (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Peek a user/issue without navigating. Needs a decision → `Dialog`.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { HoverCard, HoverCardContent, HoverCardTrigger } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/hover-card.tsx` · family: Surface · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `HoverCard` | `actionsRef?` `defaultOpen?` `defaultTriggerId?` `handle?` `onOpenChange?` `onOpenChangeComplete?` `open?` `triggerId?` |
|
|
18
|
+
| `HoverCardContent` | `align?` `alignOffset?` `render?` `side?` `sideOffset?` |
|
|
19
|
+
| `HoverCardTrigger` | `closeDelay?` `delay?` `handle?` `payload?` `render?` |
|
|
20
|
+
|
|
21
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# InputGroup (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Search/url/amount fields with adornments; keep validation in `NumberField` etc.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/input-group.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `InputGroup` | — |
|
|
18
|
+
| `InputGroupAddon` | `align?=inline-end/inline-start/block-start/block-end` |
|
|
19
|
+
| `InputGroupButton` | `focusableWhenDisabled?` `nativeButton?` `render?` `size?=xs/sm/icon-xs/icon-sm` `type?=button/submit/reset` `variant?=link/default/outline/secondary/ghost/destructive` |
|
|
20
|
+
| `InputGroupInput` | — |
|
|
21
|
+
| `InputGroupText` | — |
|
|
22
|
+
| `InputGroupTextarea` | — |
|
|
23
|
+
|
|
24
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Input (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Single-line text input.
|
|
6
|
+
|
|
7
|
+
**when** Plain text. Numbers → `NumberField`; secrets → `PasswordField`; search → `SearchInput`.
|
|
8
|
+
|
|
9
|
+
`import { Input } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/input.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Input` | — |
|
|
18
|
+
|
|
19
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
20
|
+
|
|
21
|
+
## Skeleton
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Input value={v} onChange={(e) => set(e.target.value)} placeholder="名称" />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
30
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
31
|
+
Pick by **scenario**, then open the file you need.
|
|
32
|
+
|
|
33
|
+
- **[input-01.tsx](../examples/input/input-01.tsx)** — Input — Plain single-line text bound to state; combine with Label/InputGroup rather than styling the native input.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Item (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** A uniform list row when `DataGrid` is too heavy.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/item.tsx` · family: Layout & structure · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Item` | `render?` `size?=default/xs/sm` `variant?=default/outline/muted` |
|
|
18
|
+
| `ItemActions` | — |
|
|
19
|
+
| `ItemContent` | — |
|
|
20
|
+
| `ItemDescription` | — |
|
|
21
|
+
| `ItemFooter` | — |
|
|
22
|
+
| `ItemGroup` | — |
|
|
23
|
+
| `ItemHeader` | — |
|
|
24
|
+
| `ItemMedia` | `variant?=image/default/icon` |
|
|
25
|
+
| `ItemSeparator` | `orientation?` `render?` |
|
|
26
|
+
| `ItemTitle` | — |
|
|
27
|
+
|
|
28
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
33
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
34
|
+
Pick by **scenario**, then open the file you need.
|
|
35
|
+
|
|
36
|
+
- **[item-01.tsx](../examples/item/item-01.tsx)** — Item — A uniform row (title + description + trailing actions) inside menus, lists and cards, with an outline variant for grouping.
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# JiraWiki
|
|
4
4
|
|
|
5
|
-
Render Jira wiki markup to tokens (headings, lists, tables, [^file], -strike-).
|
|
6
|
-
Style via className / classNames; full control via parseJiraWiki().
|
|
5
|
+
Render Jira wiki markup to tokens (headings, lists, tables, [^file], -strike-). Style via className / classNames; full control via parseJiraWiki().
|
|
7
6
|
|
|
8
7
|
**when** Jira description / comment body
|
|
9
8
|
|
|
10
9
|
`import { JiraWiki, JiraWikiClassNames } from "@monkey-mini-app/ui"`
|
|
11
10
|
|
|
12
|
-
`packages/ui/src/products/jira-wiki.tsx` ·
|
|
11
|
+
`packages/ui/src/products/jira-wiki.tsx` · family: Rich text · type: product
|
|
13
12
|
|
|
14
13
|
## Props
|
|
15
14
|
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# JqlInput
|
|
4
4
|
|
|
5
|
-
CodeMirror
|
|
5
|
+
JQL query field: CodeMirror 6 (esm.sh, on demand) with syntax highlighting and field/operator/value completion that opens as you type. Falls back to a plain textarea when the CDN is unreachable — the query still edits.
|
|
6
6
|
|
|
7
|
-
**when** Issue search / saved filters
|
|
7
|
+
**when** Issue search / saved filters. Needs a real field list: pass `fields`.
|
|
8
8
|
|
|
9
9
|
`import { JqlInput, JqlSuggestItem } from "@monkey-mini-app/ui"`
|
|
10
10
|
|
|
11
|
-
`packages/ui/src/products/jql-input.tsx` ·
|
|
11
|
+
`packages/ui/src/products/jql-input.tsx` · family: Form · type: product
|
|
12
12
|
|
|
13
13
|
## Props
|
|
14
14
|
|
|
15
15
|
| field | type | required | note |
|
|
16
16
|
|---|---|:---:|---|
|
|
17
17
|
| `className` | `string \| undefined` | | |
|
|
18
|
-
| `fields` | `JqlSuggestItem[] \| undefined` | |
|
|
19
|
-
| `functions` | `JqlSuggestItem[] \| undefined` | | |
|
|
18
|
+
| `fields` | `JqlSuggestItem[] \| undefined` | | Field names offered by completion (from your JQL backend). |
|
|
20
19
|
| `height` | `string \| undefined` | | |
|
|
21
20
|
| `onChange` | `((value: string) => void) \| undefined` | | |
|
|
22
21
|
| `value` | `string` | ✓ | |
|
|
@@ -27,11 +26,19 @@ CodeMirror JQL editor with field/function completion (host injects fields).
|
|
|
27
26
|
|
|
28
27
|
| field | type | required | note |
|
|
29
28
|
|---|---|:---:|---|
|
|
30
|
-
| `detail` | `string \| undefined` | | |
|
|
31
29
|
| `name` | `string` | ✓ | |
|
|
30
|
+
| `type` | `string \| undefined` | | |
|
|
32
31
|
|
|
33
32
|
## Example
|
|
34
33
|
|
|
35
34
|
```tsx
|
|
36
|
-
<JqlInput value={jql} onChange={setJql} fields={[{ name: "status" }]} />
|
|
35
|
+
<JqlInput value={jql} onChange={setJql} fields={[{ name: "status" }, { name: "assignee" }]} />
|
|
37
36
|
```
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
41
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
42
|
+
Pick by **scenario**, then open the file you need.
|
|
43
|
+
|
|
44
|
+
- **[jql-input-01.tsx](../examples/jql-input/jql-input-01.tsx)** — JqlInput — Query-language field with syntax feedback (JQL/SQL-ish filters) — the CodeMirror-powered sibling of SearchInput. — _*CodeMirror JQL · type to complete fields*_
|
|
@@ -1,13 +1,31 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# JsonViewer
|
|
4
4
|
|
|
5
|
+
Collapsible JSON tree.
|
|
6
|
+
|
|
7
|
+
**when** API responses/config. Plain text with wrapping → `CodeBlock`.
|
|
8
|
+
|
|
5
9
|
`import { JsonViewer } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/json-viewer.tsx` ·
|
|
11
|
+
`packages/ui/src/products/json-viewer.tsx` · family: Discovery & inspect · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
11
15
|
| field | type | required | note |
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `value` | `unknown` | ✓ | |
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<JsonViewer value={data} />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
28
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
29
|
+
Pick by **scenario**, then open the file you need.
|
|
30
|
+
|
|
31
|
+
- **[json-viewer-01.tsx](../examples/json-viewer/json-viewer-01.tsx)** — JsonViewer — Collapsible tree over an API response payload; use for debugging output instead of <pre>{JSON.stringify(...)}.
|