@fewangsit/wangsvue-gsts 2.0.0-alpha.3 → 2.0.0-alpha.30
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/assets/scanner.worker-DQsz7oT_.js.map +1 -0
- package/badge/Badge.fm.md +32 -0
- package/basetree/index.d.ts +31 -0
- package/breadcrumb/Breadcrumb.fm.md +23 -0
- package/button/Button.fm.md +53 -0
- package/buttonbulkaction/ButtonBulkAction-MenuItem.fm.md +18 -0
- package/buttonbulkaction/ButtonBulkAction.fm.md +25 -0
- package/buttondownload/ButtonDownload.fm.md +22 -0
- package/buttonfilter/ButtonFilter.fm.md +19 -0
- package/buttonscan/index.d.ts +6 -0
- package/buttonsearch/ButtonSearch.fm.md +19 -0
- package/buttonsearchbyscan/ButtonSearchByScan.fm.md +25 -0
- package/buttonselecttree/ButtonSelectTree.fm.md +40 -0
- package/buttonselecttree/index.d.ts +18 -0
- package/calendar/Calendar.fm.md +34 -0
- package/calendar/index.d.ts +41 -0
- package/changelogpage/index.d.ts +1 -1
- package/components.fm.md +56 -0
- package/customcolumn/index.d.ts +5 -5
- package/datatable/DataTable-MenuItem.fm.md +22 -0
- package/datatable/DataTable-TableColumn.fm.md +52 -0
- package/datatable/DataTable.fm.md +40 -0
- package/datatable/index.d.ts +10 -2
- package/dialog/index.d.ts +5 -0
- package/dialogconfirm/DialogConfirm.fm.md +29 -0
- package/dialogconfirm/index.d.ts +1 -0
- package/dialogform/DialogForm.fm.md +57 -0
- package/dialogform/index.d.ts +1 -1
- package/dialogselecttree/DialogSelectTree.fm.md +42 -0
- package/dialogselecttree/index.d.ts +25 -1
- package/dropdown/Dropdown.fm.md +34 -0
- package/fieldwrapper/index.d.ts +5 -0
- package/fileupload/FileUpload.fm.md +31 -0
- package/fileupload/index.d.ts +7 -1
- package/icon/index.d.ts +80 -67
- package/imagecompressor/ImageCompressor.fm.md +44 -0
- package/imagecompressor/index.d.ts +1 -1
- package/inputbadge/InputBadge.fm.md +34 -0
- package/inputbadge/index.d.ts +4 -0
- package/inputcurrency/index.d.ts +14 -0
- package/inputnumber/InputNumber.fm.md +39 -0
- package/inputpassword/InputPassword.fm.md +28 -0
- package/inputpassword/index.d.ts +4 -0
- package/inputphonenumber/InputPhoneNumber.fm.md +34 -0
- package/inputrangenumber/InputRangeNumber.fm.md +31 -0
- package/inputtext/InputText.fm.md +34 -0
- package/mcp/components.json +44 -35
- package/mcp/components.summary.txt +7 -4
- package/mcp/main.js +1276 -1152
- package/mcp/package.json +6 -6
- package/mcp/skills/api-service-generator/SKILL.md +93 -93
- package/mcp/skills/committing-changes/SKILL.md +38 -38
- package/mcp/skills/figma-datatable-generator/SKILL.md +93 -93
- package/mcp/skills/figma-to-code/SKILL.md +118 -117
- package/mcp/skills/import-validator/SKILL.md +54 -54
- package/mcp/skills/wangsvue-code-review/SKILL.md +72 -70
- package/mcp/skills/wangsvue-workflow/SKILL.md +92 -91
- package/menu/index.d.ts +4 -0
- package/multiselect/MultiSelect.fm.md +34 -0
- package/overlaypanel/index.d.ts +4 -0
- package/package.json +1 -1
- package/plugins/WangsVue.d.ts +4 -1
- package/stats.html +1 -1
- package/style.css +2 -2
- package/tabmenu/TabMenu.fm.md +28 -0
- package/tagtype/index.d.ts +1 -1
- package/textarea/TextArea.fm.md +34 -0
- package/toast/index.d.ts +13 -0
- package/tree/index.d.ts +34 -0
- package/utils/baseToast.util.d.ts +1 -24
- package/utils/toast.util.d.ts +1 -3
- package/wangsvue-gsts.es.js +21496 -21174
- package/wangsvue-gsts.es.js.map +1 -1
- package/wangsvue-gsts.system.js +62 -62
- package/wangsvue-gsts.system.js.map +1 -1
- package/assets/scanner.worker-CqQNqzoU.js.map +0 -1
|
@@ -1,91 +1,92 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'wangsvue-workflow'
|
|
3
|
-
description: 'Enforces the 5-step mandatory workflow for Wangsvue development, including component discovery protocols. Invoke when starting a new task, feature, or component implementation.'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Wangsvue Mandatory Workflow
|
|
7
|
-
|
|
8
|
-
This skill guides you through the 5 mandatory steps for any Wangsvue development task. You MUST follow these steps in order.
|
|
9
|
-
|
|
10
|
-
## The 5-Step Workflow
|
|
11
|
-
|
|
12
|
-
### Step 1: Standard Synchronization
|
|
13
|
-
|
|
14
|
-
**Action:** Read relevant MD files before starting.
|
|
15
|
-
|
|
16
|
-
- **Files to Check:** Vue Code Structure, Project Structure, Code Consistency Guidelines.
|
|
17
|
-
- **Goal:** Ensure you are aligned with the latest architectural standards.
|
|
18
|
-
|
|
19
|
-
### Step 2: Technical Discovery (MCP First)
|
|
20
|
-
|
|
21
|
-
**Action:** Use MCP tools to find components and types.
|
|
22
|
-
|
|
23
|
-
- **Command:** `mcp_wangsvue_mcp_list_all_components()`
|
|
24
|
-
- **Command:** `mcp_wangsvue_mcp_analyze_component(componentId, format: "toon")`
|
|
25
|
-
- **Command:** `mcp_wangsvue_mcp_resolve_type_definition(types: [...])`
|
|
26
|
-
- **Goal:** Get the correct component ID, import paths, and TypeScript contracts.
|
|
27
|
-
- **Rule:** NEVER write import statements without MCP verification.
|
|
28
|
-
|
|
29
|
-
#### 🔍 Discovery Protocol (Detailed)
|
|
30
|
-
|
|
31
|
-
**Always ask:** "Does Wangsvue have a specialized component for this?"
|
|
32
|
-
|
|
33
|
-
**Keyword Search Guide:**
|
|
34
|
-
|
|
35
|
-
- **Functional Components:**
|
|
36
|
-
|
|
37
|
-
- Filter? → Search "filter"
|
|
38
|
-
- Download? → Search "download" (e.g., `ButtonDownload`)
|
|
39
|
-
- Bulk actions? → Search "bulk" (e.g., `ButtonBulkAction`)
|
|
40
|
-
- Search? → Search "search" (e.g., `ButtonSearch`)
|
|
41
|
-
- Upload? → Search "upload" (e.g., `FileUpload`)
|
|
42
|
-
- Copy? → Search "copy" (e.g., `ButtonCopy`)
|
|
43
|
-
|
|
44
|
-
- **Structural Components:**
|
|
45
|
-
- Card/Container? → Search "card" (for background, padding, border)
|
|
46
|
-
- Form wrapper? → Search "form"
|
|
47
|
-
- Modal/Popup? → Search "dialog", "dialogconfirm"
|
|
48
|
-
- Loading? → Search "loading"
|
|
49
|
-
|
|
50
|
-
**Mental Shift Required:**
|
|
51
|
-
|
|
52
|
-
- **❌ OLD:** "I need a container with background" → `<div class="bg-white p-4">`
|
|
53
|
-
- **✅ NEW:** "I need a container" → Search components → Find `Card`
|
|
54
|
-
- **❌ OLD:** "I need a button for download" → `<Button>`
|
|
55
|
-
- **✅ NEW:** "I need download functionality" → Search components → Find `ButtonDownload`
|
|
56
|
-
|
|
57
|
-
### Step 3: Pattern Extraction (Documentation)
|
|
58
|
-
|
|
59
|
-
**Action:** Use MCP tools to see real usage patterns.
|
|
60
|
-
|
|
61
|
-
1. **Mandatory Discovery:** Call `mcp_wangsvue_docs_get_sections(component)` FIRST to see available section IDs.
|
|
62
|
-
2. **Extraction:** Call `mcp_wangsvue_docs_get_example(component, section)` using the exact ID found in step 1.
|
|
63
|
-
|
|
64
|
-
- **Goal:** Understand intended usage, built-in features, and architecture.
|
|
65
|
-
- **Rule:** NEVER guess a section name. NEVER assume an example exists without checking sections.
|
|
66
|
-
- **Rule:** Follow examples EXACTLY. Do not create custom interpretations.
|
|
67
|
-
|
|
68
|
-
**Questions to Ask:**
|
|
69
|
-
|
|
70
|
-
- "Does this component handle its own state?" (e.g., `DataTable` handles pagination)
|
|
71
|
-
- "Does it integrate with Router?" (e.g., `TabMenu`)
|
|
72
|
-
- "Does it use a store?" (e.g., `Breadcrumb` uses `useBreadcrumbStore`)
|
|
73
|
-
|
|
74
|
-
### Step 4: Synthesis (Strict Implementation)
|
|
75
|
-
|
|
76
|
-
**Action:** Implement the code following strict structure rules.
|
|
77
|
-
|
|
78
|
-
- **Structure:** Script → Template → Style.
|
|
79
|
-
- **Organization:** Imports → Props/Emits → Lifecycle → Variables → Methods.
|
|
80
|
-
- **Logic:** Business logic in `components/modules/`, NOT in views.
|
|
81
|
-
- **Views:** Lightweight, only import and compose from modules.
|
|
82
|
-
- **Attributes:** Ensure `data-wv-name` and `data-wv-section` are present.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
1
|
+
---
|
|
2
|
+
name: 'wangsvue-workflow'
|
|
3
|
+
description: 'Enforces the 5-step mandatory workflow for Wangsvue development, including component discovery protocols. Invoke when starting a new task, feature, or component implementation.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Wangsvue Mandatory Workflow
|
|
7
|
+
|
|
8
|
+
This skill guides you through the 5 mandatory steps for any Wangsvue development task. You MUST follow these steps in order.
|
|
9
|
+
|
|
10
|
+
## The 5-Step Workflow
|
|
11
|
+
|
|
12
|
+
### Step 1: Standard Synchronization
|
|
13
|
+
|
|
14
|
+
**Action:** Read relevant MD files before starting.
|
|
15
|
+
|
|
16
|
+
- **Files to Check:** Vue Code Structure, Project Structure, Code Consistency Guidelines.
|
|
17
|
+
- **Goal:** Ensure you are aligned with the latest architectural standards.
|
|
18
|
+
|
|
19
|
+
### Step 2: Technical Discovery (MCP First)
|
|
20
|
+
|
|
21
|
+
**Action:** Use MCP tools to find components and types.
|
|
22
|
+
|
|
23
|
+
- **Command:** `mcp_wangsvue_mcp_list_all_components()`
|
|
24
|
+
- **Command:** `mcp_wangsvue_mcp_analyze_component(componentId, format: "toon")`
|
|
25
|
+
- **Command:** `mcp_wangsvue_mcp_resolve_type_definition(types: [...])`
|
|
26
|
+
- **Goal:** Get the correct component ID, import paths, and TypeScript contracts.
|
|
27
|
+
- **Rule:** NEVER write import statements without MCP verification.
|
|
28
|
+
|
|
29
|
+
#### 🔍 Discovery Protocol (Detailed)
|
|
30
|
+
|
|
31
|
+
**Always ask:** "Does Wangsvue have a specialized component for this?"
|
|
32
|
+
|
|
33
|
+
**Keyword Search Guide:**
|
|
34
|
+
|
|
35
|
+
- **Functional Components:**
|
|
36
|
+
|
|
37
|
+
- Filter? → Search "filter"
|
|
38
|
+
- Download? → Search "download" (e.g., `ButtonDownload`)
|
|
39
|
+
- Bulk actions? → Search "bulk" (e.g., `ButtonBulkAction`)
|
|
40
|
+
- Search? → Search "search" (e.g., `ButtonSearch`)
|
|
41
|
+
- Upload? → Search "upload" (e.g., `FileUpload`)
|
|
42
|
+
- Copy? → Search "copy" (e.g., `ButtonCopy`)
|
|
43
|
+
|
|
44
|
+
- **Structural Components:**
|
|
45
|
+
- Card/Container? → Search "card" (for background, padding, border)
|
|
46
|
+
- Form wrapper? → Search "form"
|
|
47
|
+
- Modal/Popup? → Search "dialog", "dialogconfirm"
|
|
48
|
+
- Loading? → Search "loading"
|
|
49
|
+
|
|
50
|
+
**Mental Shift Required:**
|
|
51
|
+
|
|
52
|
+
- **❌ OLD:** "I need a container with background" → `<div class="bg-white p-4">`
|
|
53
|
+
- **✅ NEW:** "I need a container" → Search components → Find `Card`
|
|
54
|
+
- **❌ OLD:** "I need a button for download" → `<Button>`
|
|
55
|
+
- **✅ NEW:** "I need download functionality" → Search components → Find `ButtonDownload`
|
|
56
|
+
|
|
57
|
+
### Step 3: Pattern Extraction (Documentation)
|
|
58
|
+
|
|
59
|
+
**Action:** Use MCP tools to see real usage patterns.
|
|
60
|
+
|
|
61
|
+
1. **Mandatory Discovery:** Call `mcp_wangsvue_docs_get_sections(component)` FIRST to see available section IDs.
|
|
62
|
+
2. **Extraction:** Call `mcp_wangsvue_docs_get_example(component, section)` using the exact ID found in step 1.
|
|
63
|
+
|
|
64
|
+
- **Goal:** Understand intended usage, built-in features, and architecture.
|
|
65
|
+
- **Rule:** NEVER guess a section name. NEVER assume an example exists without checking sections.
|
|
66
|
+
- **Rule:** Follow examples EXACTLY. Do not create custom interpretations.
|
|
67
|
+
|
|
68
|
+
**Questions to Ask:**
|
|
69
|
+
|
|
70
|
+
- "Does this component handle its own state?" (e.g., `DataTable` handles pagination)
|
|
71
|
+
- "Does it integrate with Router?" (e.g., `TabMenu`)
|
|
72
|
+
- "Does it use a store?" (e.g., `Breadcrumb` uses `useBreadcrumbStore`)
|
|
73
|
+
|
|
74
|
+
### Step 4: Synthesis (Strict Implementation)
|
|
75
|
+
|
|
76
|
+
**Action:** Implement the code following strict structure rules.
|
|
77
|
+
|
|
78
|
+
- **Structure:** Script → Template → Style.
|
|
79
|
+
- **Organization:** Imports → Props/Emits → Lifecycle → Variables → Methods.
|
|
80
|
+
- **Logic:** Business logic in `components/modules/`, NOT in views.
|
|
81
|
+
- **Views:** Lightweight, only import and compose from modules.
|
|
82
|
+
- **Attributes:** Ensure `data-wv-name` and `data-wv-section` are present.
|
|
83
|
+
- **Accessibility:** Interactive elements must have `aria-label`, `aria-labelledby`, or `aria-describedby`.
|
|
84
|
+
|
|
85
|
+
### Step 5: Validation (The "Black Box" Linter Rule)
|
|
86
|
+
|
|
87
|
+
Launch skill `wangsvue-code-review`.
|
|
88
|
+
|
|
89
|
+
## Repetition Protocol
|
|
90
|
+
|
|
91
|
+
Before starting, affirm:
|
|
92
|
+
"I WILL DISCOVER SPECIALIZED COMPONENTS FIRST. I WILL CALL GET_SECTIONS BEFORE GET_EXAMPLE. I WILL NOT GUESS SECTION NAMES OR IMPORTS. I WILL FOLLOW DOCUMENTED PATTERNS EXACTLY. I WILL RUN PNPM LINT."
|
package/menu/index.d.ts
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# MultiSelect
|
|
2
|
+
type reference: ./index.d.ts
|
|
3
|
+
|
|
4
|
+
Append a `MultiSelect` component when the figma context contains:
|
|
5
|
+
|
|
6
|
+
- A figma component or instance named "Multi Select" or similar, consisting of a multi-select input field optionally paired with a label, required asterisk, info icon, and a dropdown arrow icon. When values are selected, they appear as badge chips inside the input area.
|
|
7
|
+
|
|
8
|
+
## Metadata Shape (Component)
|
|
9
|
+
|
|
10
|
+
Append this component to the `components` array of the returned JSON.
|
|
11
|
+
|
|
12
|
+
## Metadata Shape (Properties)
|
|
13
|
+
|
|
14
|
+
Append these properties to the `props` object of this component.
|
|
15
|
+
|
|
16
|
+
### Properties definitions
|
|
17
|
+
|
|
18
|
+
- `label` (string)
|
|
19
|
+
The text of the label displayed above the multi-select.
|
|
20
|
+
|
|
21
|
+
- `placeholder` (string | undefined)
|
|
22
|
+
The placeholder text inside the multi-select (e.g. "Select"). When value(s) are selected, the placeholder is replaced with badge chips. Omit if no placeholder text is visible.
|
|
23
|
+
|
|
24
|
+
- `mandatory` (boolean | undefined)
|
|
25
|
+
Whether a red asterisk `*` is present next to the label, indicating the field is required. Omit if absent.
|
|
26
|
+
|
|
27
|
+
- `fieldInfo` (string | undefined)
|
|
28
|
+
Whether an info icon (`information-line`) is present next to the label. Omit if absent.
|
|
29
|
+
|
|
30
|
+
- `invalid` (boolean | undefined)
|
|
31
|
+
Whether the multi-select shows an error state (red border, red caption text). Omit if the field is not in error state.
|
|
32
|
+
|
|
33
|
+
- `disabled` (boolean | undefined)
|
|
34
|
+
Whether the multi-select shows a disabled state (gray background, gray text). Omit if the field is not disabled.
|
package/overlaypanel/index.d.ts
CHANGED
|
@@ -129,6 +129,10 @@ export interface OverlayPanelBreakpoints {
|
|
|
129
129
|
* Defines valid properties in OverlayPanel component.
|
|
130
130
|
*/
|
|
131
131
|
export interface OverlayPanelProps {
|
|
132
|
+
/**
|
|
133
|
+
* Defines the aria-label attribute for the overlay panel.
|
|
134
|
+
*/
|
|
135
|
+
ariaLabel?: string;
|
|
132
136
|
/**
|
|
133
137
|
* Enables to hide the overlay when outside is clicked.
|
|
134
138
|
* @defaultValue true
|
package/package.json
CHANGED
package/plugins/WangsVue.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import { ButtonSearchLocaleConfig } from '../buttonsearch';
|
|
|
15
15
|
import { CalendarLocaleConfig, CalendarPresetOptions } from '../calendar';
|
|
16
16
|
import { CustomColumnLocaleConfig } from '../customcolumn';
|
|
17
17
|
import {
|
|
18
|
+
Data,
|
|
18
19
|
DataTableLocaleConfig,
|
|
19
20
|
DataTableProps,
|
|
20
21
|
TreeTableProps,
|
|
@@ -39,6 +40,7 @@ import { MultiSelectLocaleConfig } from '../multiselect';
|
|
|
39
40
|
import { OverlayPanelPassThroughOptions } from '../overlaypanel';
|
|
40
41
|
import { TagTypeProps } from '../tagtype';
|
|
41
42
|
import { TextareaLocaleConfig } from '../textarea';
|
|
43
|
+
import { ToastLocaleConfig } from '../toast';
|
|
42
44
|
import { TreeProps } from '../tree';
|
|
43
45
|
import {
|
|
44
46
|
UserNameComponentConfigs,
|
|
@@ -58,7 +60,7 @@ export interface ComponentDefaultPropsConfig {
|
|
|
58
60
|
Image?: ImageProps;
|
|
59
61
|
ButtonBulkAction?: Omit<ButtonBulkActionProps, 'selectedData' | 'options'>;
|
|
60
62
|
Animation?: AnimationDefaultConfig;
|
|
61
|
-
DataTable?: Partial<DataTableProps | TreeTableProps
|
|
63
|
+
DataTable?: Partial<DataTableProps<Data> | TreeTableProps<Data>>;
|
|
62
64
|
Badge?: Partial<BadgeComponentConfigs>;
|
|
63
65
|
UserName?: UserNameComponentConfigs;
|
|
64
66
|
Dropdown?: DropdownProps;
|
|
@@ -87,6 +89,7 @@ interface ComponentLocaleConfig {
|
|
|
87
89
|
DataTable?: DataTableLocaleConfig;
|
|
88
90
|
ImageCompressor?: ImageCompressorLocaleConfig;
|
|
89
91
|
ButtonDownload?: ButtonDownloadLocaleConfig;
|
|
92
|
+
Toast?: ToastLocaleConfig;
|
|
90
93
|
}
|
|
91
94
|
export interface LocaleConfig {
|
|
92
95
|
global: Partial<typeof DEFAULT_GLOBAL_LOCALE_CONFIG>;
|