@monkey-mini-app/dsh-mini-app 0.1.1 → 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 +29 -27
- package/lib/client.js +2024 -783
- package/lib/index.d.ts +2 -0
- package/lib/index.js +20 -7
- package/package.json +10 -9
- package/skills/monkey-mini-app/SKILL.md +181 -114
- 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 +12 -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 +12 -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 +12 -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 +12 -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 +12 -2
- package/skills/monkey-mini-app/references/contracts/spinner.md +31 -0
- package/skills/monkey-mini-app/references/contracts/stacked-bar-chart.md +16 -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
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# KanbanIssuePanel
|
|
4
4
|
|
|
5
|
+
Slide-over detail panel for a `Kanban` card.
|
|
6
|
+
|
|
7
|
+
**when** Board + click-to-edit issue. Pair with `Kanban`'s selected card.
|
|
8
|
+
|
|
5
9
|
`import { KanbanIssuePanel, KanbanCard, KanbanComment } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/kanban-issue-panel.tsx` ·
|
|
11
|
+
`packages/ui/src/products/kanban-issue-panel.tsx` · family: Surface · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -43,3 +47,9 @@
|
|
|
43
47
|
| `body` | `string` | ✓ | |
|
|
44
48
|
| `id` | `string` | ✓ | |
|
|
45
49
|
| `time` | `string \| undefined` | | |
|
|
50
|
+
|
|
51
|
+
## Example
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
<KanbanIssuePanel card={card} open={open} onOpenChange={setOpen} />
|
|
55
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Kanban
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ DnD board: columns + cards. Move cards across columns via drag.
|
|
|
8
8
|
|
|
9
9
|
`import { Kanban, KanbanComment, KanbanCard, KanbanColumn } from "@monkey-mini-app/ui"`
|
|
10
10
|
|
|
11
|
-
`packages/ui/src/products/kanban.tsx` ·
|
|
11
|
+
`packages/ui/src/products/kanban.tsx` · family: Data & tables · type: product
|
|
12
12
|
|
|
13
13
|
## Props
|
|
14
14
|
|
|
@@ -62,3 +62,11 @@ DnD board: columns + cards. Move cards across columns via drag.
|
|
|
62
62
|
```tsx
|
|
63
63
|
<Kanban columns={cols} cards={cards} onCardsChange={setCards} onCardClick={open} />
|
|
64
64
|
```
|
|
65
|
+
|
|
66
|
+
## Examples
|
|
67
|
+
|
|
68
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
69
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
70
|
+
Pick by **scenario**, then open the file you need.
|
|
71
|
+
|
|
72
|
+
- **[kanban-01.tsx](../examples/kanban/kanban-01.tsx)** — Kanban — Card board with drag between columns, plus the issue detail sheet — the workflow/pipeline view; use Table/DataGrid when you need sorting and totals. — _*Drag between columns · click a card for Jira details*_
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Kbd (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Documenting ⌘K-style shortcuts in help panels.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Kbd, KbdGroup } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/kbd.tsx` · family: Layout & structure · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Kbd` | — |
|
|
18
|
+
| `KbdGroup` | — |
|
|
19
|
+
|
|
20
|
+
_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
|
+
# Label (L1 primitive)
|
|
4
|
+
|
|
5
|
+
Accessible field label.
|
|
6
|
+
|
|
7
|
+
**when** Always bind `htmlFor` — bare text labels are not accessible.
|
|
8
|
+
|
|
9
|
+
`import { Label } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/label.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Label` | — |
|
|
18
|
+
|
|
19
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
20
|
+
|
|
21
|
+
## Skeleton
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Label htmlFor="name">名称</Label>
|
|
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
|
+
- **[label-01.tsx](../examples/label/label-01.tsx)** — Label — Accessible field label wired by htmlFor; the piece that makes a bare Input keyboard/AT-usable.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# ListDetail
|
|
4
|
+
|
|
5
|
+
Two-pane record browser: the list holds its place while the selected record scrolls on its own. This is the shape agents get wrong without help — a flex child with no `min-h-0` grows to fit its content, so the whole page scrolls, the toolbar slides away, and the two panes are never independent. Both panes scroll here by construction, and the record pane collapses to a full-width view below `md` instead of squashing.
|
|
6
|
+
|
|
7
|
+
**when** Page shape: click a row, then read or edit that one record beside the list — orders, tickets, contacts, log lines
|
|
8
|
+
|
|
9
|
+
`import { ListDetail } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/blocks/list-detail.tsx` · family: Layout & structure · type: block
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| field | type | required | note |
|
|
16
|
+
|---|---|:---:|---|
|
|
17
|
+
| `className` | `string \| undefined` | | |
|
|
18
|
+
| `defaultSize` | `number \| undefined` | | Collection pane share of the width, 0-100. Default 34. |
|
|
19
|
+
| `detail` | `ReactNode` | | The record pane. Pass `undefined` for "nothing selected" — `empty` renders instead. |
|
|
20
|
+
| `empty` | `ReactNode` | | Placeholder for the record pane while nothing is selected. |
|
|
21
|
+
| `list` | `ReactNode` | ✓ | The collection pane: list, table, board — anything you scroll through. |
|
|
22
|
+
| `minSize` | `number \| undefined` | | Collection pane floor, so a long record title cannot push it away. Default 18. |
|
|
23
|
+
| `mobileView` | `"list" \| "detail" \| undefined` | | Narrow screens show one pane at a time. The app owns which one. |
|
|
24
|
+
| `onMobileBack` | `(() => void) \| undefined` | | Renders a back control on the record pane below `md`. No-op on wide screens. |
|
|
25
|
+
| `toolbar` | `ReactNode` | | Search / filters / create button. Fixed above the panes; it never scrolls. |
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<ListDetail
|
|
31
|
+
toolbar={<SearchInput />}
|
|
32
|
+
list={<OrderList />}
|
|
33
|
+
detail={order ? <OrderCard order={order} /> : undefined}
|
|
34
|
+
empty={<div>Pick an order</div>}
|
|
35
|
+
mobileView={order ? "detail" : "list"}
|
|
36
|
+
onMobileBack={() => setOrder(null)}
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Examples
|
|
41
|
+
|
|
42
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
43
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
44
|
+
Pick by **scenario**, then open the file you need.
|
|
45
|
+
|
|
46
|
+
- **[list-detail-01.tsx](../examples/list-detail/list-detail-01.tsx)** — ListDetail — Records browser at a fixed height: a long ticket list on the left, the selected ticket on the right, each pane scrolling on its own. — _*Scroll either pane — the toolbar and the other pane stay put*_
|
|
@@ -1,13 +1,54 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# LogViewer
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Virtualized streaming log viewer with level colors, search, and auto-scroll.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**when** Streaming / CLI-style log output
|
|
8
|
+
|
|
9
|
+
`import { LogViewer, LogLevel, LogEntry } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/products/log-viewer.tsx` · family: Realtime · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
11
15
|
| field | type | required | note |
|
|
12
16
|
|---|---|:---:|---|
|
|
13
|
-
| `
|
|
17
|
+
| `autoScroll` | `boolean \| undefined` | | |
|
|
18
|
+
| `className` | `string \| undefined` | | |
|
|
19
|
+
| `entries` | `LogEntry[]` | ✓ | |
|
|
20
|
+
| `lineNumbers` | `boolean \| undefined` | | |
|
|
21
|
+
| `maxHeight` | `number \| undefined` | | |
|
|
22
|
+
| `onClear` | `(() => void) \| undefined` | | |
|
|
23
|
+
| `timestamps` | `boolean \| undefined` | | |
|
|
24
|
+
| `title` | `string \| undefined` | | |
|
|
25
|
+
|
|
26
|
+
## Types
|
|
27
|
+
|
|
28
|
+
### `LogLevel`
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
"info" | "warn" | "error" | "debug" | "verbose"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### `LogEntry`
|
|
35
|
+
|
|
36
|
+
| field | type | required | note |
|
|
37
|
+
|---|---|:---:|---|
|
|
38
|
+
| `level` | `LogLevel` | ✓ | |
|
|
39
|
+
| `message` | `string` | ✓ | |
|
|
40
|
+
| `timestamp` | `string \| undefined` | | |
|
|
41
|
+
|
|
42
|
+
## Example
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<LogViewer entries={[{ level: "info", message: "boot" }, { level: "error", message: "boom" }]} />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
51
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
52
|
+
Pick by **scenario**, then open the file you need.
|
|
53
|
+
|
|
54
|
+
- **[log-viewer-01.tsx](../examples/log-viewer/log-viewer-01.tsx)** — LogViewer — Thousands of streamed log lines: virtualised rows with level colouring and auto-follow; never render logs with a plain map.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# MarkdownEditor
|
|
4
4
|
|
|
5
|
+
Markdown edit + preview toggle.
|
|
6
|
+
|
|
7
|
+
**when** Authoring md bodies. Read-only render → `Markdown`.
|
|
8
|
+
|
|
5
9
|
`import { MarkdownEditor, MarkdownEditorMode } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/markdown-editor.tsx` ·
|
|
11
|
+
`packages/ui/src/products/markdown-editor.tsx` · family: Rich text · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -22,3 +26,17 @@
|
|
|
22
26
|
```ts
|
|
23
27
|
"edit" | "split" | "preview"
|
|
24
28
|
```
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<MarkdownEditor value={md} onChange={(v) => set(v)} />
|
|
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
|
+
- **[markdown-editor-01.tsx](../examples/markdown-editor/markdown-editor-01.tsx)** — MarkdownEditor — Write markdown with a live preview pane and a mode toggle (edit / split / preview) for docs and descriptions. — _*Left CodeMirror, right live GFM preview*_
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# Markdown
|
|
4
4
|
|
|
5
|
+
Render a markdown string.
|
|
6
|
+
|
|
7
|
+
**when** Model output, README-ish bodies. Children must be a string.
|
|
8
|
+
|
|
5
9
|
`import { Markdown } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/products/markdown.tsx` ·
|
|
11
|
+
`packages/ui/src/products/markdown.tsx` · family: Rich text · type: product
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -12,3 +16,9 @@
|
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `children` | `string` | ✓ | |
|
|
14
18
|
| `className` | `string \| undefined` | | |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
<Markdown>{text}</Markdown>
|
|
24
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Marker (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Small state markers inside a sentence or legend.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Marker, MarkerContent, MarkerIcon, markerVariants } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/marker.tsx` · family: Layout & structure · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Marker` | `render?` `variant?=default/separator/border` |
|
|
18
|
+
| `MarkerContent` | — |
|
|
19
|
+
| `MarkerIcon` | — |
|
|
20
|
+
| `markerVariants` (hook/util) | `class?` `variant?=default/separator/border` |
|
|
21
|
+
|
|
22
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
27
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
28
|
+
Pick by **scenario**, then open the file you need.
|
|
29
|
+
|
|
30
|
+
- **[marker-01.tsx](../examples/marker/marker-01.tsx)** — Marker — Small inline marker (icon + text) used to annotate a list row or timeline step with its state/file type.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Menubar (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Rarely right for a panel-width mini-app — prefer `Tabs` / `DropdownMenu`.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/menubar.tsx` · family: Navigation · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Menubar` | `disabled?` `loopFocus?` `modal?` `orientation?` `render?` |
|
|
18
|
+
| `MenubarCheckboxItem` | `checked?` `closeOnClick?` `disabled?` `inset?` `label?` `nativeButton?` `onCheckedChange?` `render?` |
|
|
19
|
+
| `MenubarContent` | `align?` `alignOffset?` `finalFocus?` `render?` `side?` `sideOffset?` |
|
|
20
|
+
| `MenubarGroup` | `render?` |
|
|
21
|
+
| `MenubarItem` | `closeOnClick?` `disabled?` `inset?` `label?` `nativeButton?` `render?` `variant?=default/destructive` |
|
|
22
|
+
| `MenubarLabel` | `inset?` `render?` |
|
|
23
|
+
| `MenubarMenu` | `actionsRef?` `closeParentOnEsc?` `defaultOpen?` `defaultTriggerId?` `disabled?` `handle?` `highlightItemOnHover?` `loopFocus?` `modal?` `onOpenChange?` `onOpenChangeComplete?` `open?` +2 |
|
|
24
|
+
| `MenubarPortal` | `container?` `keepMounted?` `render?` |
|
|
25
|
+
| `MenubarRadioGroup` | `disabled?` `onValueChange?` `render?` `value?` |
|
|
26
|
+
| `MenubarRadioItem` | `closeOnClick?` `disabled?` `inset?` `label?` `nativeButton?` `render?` `value` |
|
|
27
|
+
| `MenubarSeparator` | `orientation?` `render?` |
|
|
28
|
+
| `MenubarShortcut` | — |
|
|
29
|
+
| `MenubarSub` | `actionsRef?` `closeParentOnEsc?` `defaultOpen?` `disabled?` `highlightItemOnHover?` `loopFocus?` `onOpenChange?` `onOpenChangeComplete?` `open?` `orientation?` |
|
|
30
|
+
| `MenubarSubContent` | `align?` `alignOffset?` `finalFocus?` `render?` `side?` `sideOffset?` |
|
|
31
|
+
| `MenubarSubTrigger` | `closeDelay?` `delay?` `disabled?` `inset?` `label?` `nativeButton?` `openOnHover?` `render?` |
|
|
32
|
+
| `MenubarTrigger` | `closeDelay?` `delay?` `disabled?` `handle?` `nativeButton?` `openOnHover?` `payload?` `render?` |
|
|
33
|
+
|
|
34
|
+
_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
|
+
# MessageScroller (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Streaming chat output. Logs by timestamp → `LogViewer`.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/message-scroller.tsx` · family: Realtime · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `MessageScroller` | — |
|
|
18
|
+
| `MessageScrollerButton` | `behavior?` `direction?` `render?` `size?=default/xs/sm/lg/icon/icon-xs/icon-sm/icon-lg` `variant?=link/default/outline/secondary/ghost/destructive` |
|
|
19
|
+
| `MessageScrollerContent` | `spacerClassName?` |
|
|
20
|
+
| `MessageScrollerItem` | `messageId?` `scrollAnchor?` |
|
|
21
|
+
| `MessageScrollerProvider` | `autoScroll?` `defaultScrollPosition?` `scrollEdgeThreshold?` `scrollMargin?` `scrollPreviousItemPeek?` |
|
|
22
|
+
| `MessageScrollerViewport` | `preserveScrollOnPrepend?` |
|
|
23
|
+
|
|
24
|
+
_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
|
+
# Message (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Assistant/user turns. Timestamped log rows → `LogViewer`.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/message.tsx` · family: Surface · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Message` | `align?=start/end` |
|
|
18
|
+
| `MessageAvatar` | — |
|
|
19
|
+
| `MessageContent` | — |
|
|
20
|
+
| `MessageFooter` | — |
|
|
21
|
+
| `MessageGroup` | — |
|
|
22
|
+
| `MessageHeader` | — |
|
|
23
|
+
|
|
24
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# MiniCalendar
|
|
4
4
|
|
|
5
|
+
Compact month grid, day cell only.
|
|
6
|
+
|
|
7
|
+
**when** Inside a popover or sidebar. Full page with events → `EventCalendar`.
|
|
8
|
+
|
|
5
9
|
`import { MiniCalendar } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/mini-calendar.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/mini-calendar.tsx` · family: Calendar & date · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -13,3 +17,17 @@
|
|
|
13
17
|
| `className` | `string \| undefined` | | |
|
|
14
18
|
| `onChange` | `((date: Date \| undefined) => void) \| undefined` | | |
|
|
15
19
|
| `value` | `Date \| undefined` | | |
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<MiniCalendar value={d} onChange={(v) => set(v)} />
|
|
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
|
+
- **[mini-calendar-01.tsx](../examples/mini-calendar/mini-calendar-01.tsx)** — MiniCalendar — An always-visible inline calendar (no popover) — side rail of a scheduler, or date filtered next to a list.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# NativeSelect (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Short option lists where a plain select is enough and `Select` is overkill.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { NativeSelect, NativeSelectOptGroup, NativeSelectOption } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/native-select.tsx` · family: Form · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `NativeSelect` | `size?=default/sm` |
|
|
18
|
+
| `NativeSelectOptGroup` | — |
|
|
19
|
+
| `NativeSelectOption` | — |
|
|
20
|
+
|
|
21
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# NavigationMenu (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Not for mini-apps with one screen — use `Tabs` or `AppShell` sidebar.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, navigationMenuTriggerStyle } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/navigation-menu.tsx` · family: Navigation · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `NavigationMenu` | `actionsRef?` `align?` `closeDelay?` `delay?` `onOpenChangeComplete?` `onValueChange?` `orientation?=vertical/horizontal` `render?` `value?` |
|
|
18
|
+
| `NavigationMenuContent` | `keepMounted?` `render?` |
|
|
19
|
+
| `NavigationMenuIndicator` | `render?` |
|
|
20
|
+
| `NavigationMenuItem` | `render?` `value?` |
|
|
21
|
+
| `NavigationMenuLink` | `active?` `closeOnClick?` `render?` |
|
|
22
|
+
| `NavigationMenuList` | `render?` |
|
|
23
|
+
| `NavigationMenuPositioner` | `align?` `alignOffset?` `anchor?` `arrowPadding?` `collisionAvoidance?` `collisionBoundary?` `collisionPadding?` `disableAnchorTracking?` `positionMethod?=absolute/fixed` `render?` `side?` `sideOffset?` +1 |
|
|
24
|
+
| `NavigationMenuTrigger` | `nativeButton?` `render?` |
|
|
25
|
+
| `navigationMenuTriggerStyle` (hook/util) | `class?` |
|
|
26
|
+
|
|
27
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# NotificationCenter
|
|
4
4
|
|
|
5
|
+
Grouped notification list with unread state.
|
|
6
|
+
|
|
7
|
+
**when** Inbox/alert panel. Audit log (read-only, with time) → `ActivityFeed`.
|
|
8
|
+
|
|
5
9
|
`import { NotificationCenter, NotificationItem } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/blocks/notification-center.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/notification-center.tsx` · family: Feedback & status · type: block
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -21,3 +25,9 @@
|
|
|
21
25
|
| `body` | `string \| undefined` | | |
|
|
22
26
|
| `id` | `string` | ✓ | |
|
|
23
27
|
| `title` | `string` | ✓ | |
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<NotificationCenter items={[{ id: "n1", title: "构建失败", unread: true }]} />
|
|
33
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# NumberField
|
|
4
4
|
|
|
5
|
+
Numeric input with min/max/step + steppers.
|
|
6
|
+
|
|
7
|
+
**when** Any number the user edits — keeps NaN out of your state.
|
|
8
|
+
|
|
5
9
|
`import { NumberField } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/number-field.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/number-field.tsx` · family: Form · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -15,3 +19,17 @@
|
|
|
15
19
|
| `onChange` | `((value: number) => void) \| undefined` | | |
|
|
16
20
|
| `step` | `number \| undefined` | | |
|
|
17
21
|
| `value` | `number \| undefined` | | |
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
<NumberField min={0} max={100} value={n} onChange={(v) => set(v)} />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
Runnable files under `references/examples/` — portable by construction (`react` +
|
|
32
|
+
`@monkey-mini-app/ui` + relatives), so copy the closest one into `ui.tsx` / `ui/`.
|
|
33
|
+
Pick by **scenario**, then open the file you need.
|
|
34
|
+
|
|
35
|
+
- **[number-field-01.tsx](../examples/number-field/number-field-01.tsx)** — NumberField — Numeric input with stepper buttons and clamped min/max, so quantity fields never receive NaN or out-of-range text. — _*Plus/minus and typing*_
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# PageHeader
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ Page title row with optional description and right-side actions.
|
|
|
8
8
|
|
|
9
9
|
`import { PageHeader } from "@monkey-mini-app/ui"`
|
|
10
10
|
|
|
11
|
-
`packages/ui/src/blocks/page-header.tsx` ·
|
|
11
|
+
`packages/ui/src/blocks/page-header.tsx` · family: Layout & structure · type: block
|
|
12
12
|
|
|
13
13
|
## Props
|
|
14
14
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
|
+
|
|
3
|
+
# Pagination (L1 primitive)
|
|
4
|
+
|
|
5
|
+
**when** Only when you page by hand; `DataGrid` does this itself.
|
|
6
|
+
|
|
7
|
+
Compound: compose the parts below — **do not invent part names**.
|
|
8
|
+
|
|
9
|
+
`import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "@monkey-mini-app/ui"`
|
|
10
|
+
|
|
11
|
+
`packages/ui/src/components/pagination.tsx` · family: Navigation · type: component · primitive
|
|
12
|
+
|
|
13
|
+
## Parts
|
|
14
|
+
|
|
15
|
+
| part | own props |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `Pagination` | — |
|
|
18
|
+
| `PaginationContent` | — |
|
|
19
|
+
| `PaginationEllipsis` | — |
|
|
20
|
+
| `PaginationItem` | — |
|
|
21
|
+
| `PaginationLink` | `isActive?` `size?=default/xs/sm/lg/icon/icon-xs/icon-sm/icon-lg` |
|
|
22
|
+
| `PaginationNext` | `isActive?` `size?=default/xs/sm/lg/icon/icon-xs/icon-sm/icon-lg` `text?` |
|
|
23
|
+
| `PaginationPrevious` | `isActive?` `size?=default/xs/sm/lg/icon/icon-xs/icon-sm/icon-lg` `text?` |
|
|
24
|
+
|
|
25
|
+
_Inherited HTML/ARIA props (`className`, `style`, `id`, `onClick`, `aria-*`, …) omitted — every component takes them._
|
|
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
|
+
- **[pagination-01.tsx](../examples/pagination/pagination-01.tsx)** — Pagination — Numbered page nav with prev/next and an active page, driven by your own state; DataGrid already includes this when you need a full table.
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# PasswordField
|
|
4
4
|
|
|
5
|
+
Secret input with reveal toggle.
|
|
6
|
+
|
|
7
|
+
**when** Typing a token/password into your own state. **Never** persist it to storage.
|
|
8
|
+
|
|
5
9
|
`import { PasswordField } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/password-field.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/password-field.tsx` · family: Form · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -12,3 +16,9 @@
|
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `onChange` | `((value: string) => void) \| undefined` | | |
|
|
14
18
|
| `value` | `string \| undefined` | | |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
<PasswordField value={p} onChange={(v) => set(v)} />
|
|
24
|
+
```
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<!-- generated by scripts/
|
|
1
|
+
<!-- generated by scripts/gen/skill — do not edit -->
|
|
2
2
|
|
|
3
3
|
# PhoneInput
|
|
4
4
|
|
|
5
|
+
Phone number input with formatting.
|
|
6
|
+
|
|
7
|
+
**when** CN/mobile numbers.
|
|
8
|
+
|
|
5
9
|
`import { PhoneInput } from "@monkey-mini-app/ui"`
|
|
6
10
|
|
|
7
|
-
`packages/ui/src/composites/phone-input.tsx` ·
|
|
11
|
+
`packages/ui/src/composites/phone-input.tsx` · family: Form · type: composite
|
|
8
12
|
|
|
9
13
|
## Props
|
|
10
14
|
|
|
@@ -12,3 +16,9 @@
|
|
|
12
16
|
|---|---|:---:|---|
|
|
13
17
|
| `onChange` | `((value: string) => void) \| undefined` | | |
|
|
14
18
|
| `value` | `string \| undefined` | | |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
<PhoneInput value={t} onChange={(v) => set(v)} />
|
|
24
|
+
```
|