@hinen/pro-element-plus 1.7.16 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/components/DataTable/DataTable.vue.d.ts +24 -6
  2. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -1
  3. package/dist/components/DataTable/props.d.ts +11 -2
  4. package/dist/components/DataTable/props.d.ts.map +1 -1
  5. package/dist/components/DataTable/types.d.ts +13 -1
  6. package/dist/components/DataTable/types.d.ts.map +1 -1
  7. package/dist/components/DataTable/useDataTable.d.ts.map +1 -1
  8. package/dist/components/DataTable/useFixedScrollbar.d.ts.map +1 -1
  9. package/dist/components/FormFields/FormCascadeSelect/FormCascadeSelect.vue.d.ts +136 -146
  10. package/dist/components/FormFields/FormCascadeSelect/FormCascadeSelect.vue.d.ts.map +1 -1
  11. package/dist/components/FormFields/FormCascadeSelect/props.d.ts +112 -114
  12. package/dist/components/FormFields/FormCascadeSelect/props.d.ts.map +1 -1
  13. package/dist/components/FormFields/FormCascadeSelect/types.d.ts +24 -1
  14. package/dist/components/FormFields/FormCascadeSelect/types.d.ts.map +1 -1
  15. package/dist/components/FormFields/FormTagInput/FormTagInput.vue.d.ts.map +1 -1
  16. package/dist/components/FormFields/FormTreeSelect/props.d.ts +3 -1
  17. package/dist/components/FormFields/FormTreeSelect/props.d.ts.map +1 -1
  18. package/dist/index.cjs +32 -32
  19. package/dist/index.js +2950 -2565
  20. package/dist/skills/building-form-workflows/SKILL.md +77 -0
  21. package/dist/skills/building-form-workflows/references/examples.md +47 -0
  22. package/dist/skills/building-form-workflows/references/field-selection.md +16 -0
  23. package/dist/skills/building-form-workflows/references/gotchas.md +10 -0
  24. package/dist/skills/building-form-workflows/references/workflow.md +21 -0
  25. package/dist/skills/building-modal-workflows/SKILL.md +79 -0
  26. package/dist/skills/building-modal-workflows/references/examples.md +104 -0
  27. package/dist/skills/building-modal-workflows/references/gotchas.md +19 -0
  28. package/dist/skills/building-modal-workflows/references/workflow.md +17 -0
  29. package/dist/skills/building-query-pages/SKILL.md +81 -0
  30. package/dist/skills/building-query-pages/references/examples.md +64 -0
  31. package/dist/skills/building-query-pages/references/field-selection.md +24 -0
  32. package/dist/skills/building-query-pages/references/gotchas.md +10 -0
  33. package/dist/skills/building-query-pages/references/workflow.md +22 -0
  34. package/dist/skills/building-selection-inputs/SKILL.md +85 -0
  35. package/dist/skills/building-selection-inputs/references/examples.md +87 -0
  36. package/dist/skills/building-selection-inputs/references/gotchas.md +19 -0
  37. package/dist/skills/building-selection-inputs/references/selection-guide.md +47 -0
  38. package/dist/skills/choosing-components/SKILL.md +78 -0
  39. package/dist/skills/choosing-components/references/component-groups.md +37 -0
  40. package/dist/skills/choosing-components/references/examples.md +91 -0
  41. package/dist/skills/choosing-components/references/gotchas.md +10 -0
  42. package/dist/skills/choosing-components/references/selection-guide.md +40 -0
  43. package/dist/skills/optimizing-component-skills/REVIEW.md +775 -0
  44. package/dist/skills/using-checkbox-group/SKILL.md +91 -0
  45. package/dist/skills/using-checkbox-group/references/examples.md +55 -0
  46. package/dist/skills/using-checkbox-group/references/gotchas.md +13 -0
  47. package/dist/skills/using-checkbox-group/references/props.md +83 -0
  48. package/dist/skills/using-config-provider/SKILL.md +96 -0
  49. package/dist/skills/using-config-provider/references/examples.md +38 -0
  50. package/dist/skills/using-config-provider/references/gotchas.md +13 -0
  51. package/dist/skills/using-config-provider/references/props.md +38 -0
  52. package/dist/skills/using-data-select/SKILL.md +127 -0
  53. package/dist/skills/using-data-select/references/examples.md +67 -0
  54. package/dist/skills/using-data-select/references/gotchas.md +19 -0
  55. package/dist/skills/using-data-select/references/props.md +126 -0
  56. package/dist/skills/using-data-table/SKILL.md +289 -0
  57. package/dist/skills/using-data-table/references/examples.md +347 -0
  58. package/dist/skills/using-data-table/references/gotchas.md +114 -0
  59. package/dist/skills/using-data-table/references/props.md +375 -0
  60. package/dist/skills/using-drawer/SKILL.md +104 -0
  61. package/dist/skills/using-drawer/references/examples.md +109 -0
  62. package/dist/skills/using-drawer/references/gotchas.md +16 -0
  63. package/dist/skills/using-drawer/references/props.md +105 -0
  64. package/dist/skills/using-ellipsis-text/SKILL.md +105 -0
  65. package/dist/skills/using-ellipsis-text/references/examples.md +71 -0
  66. package/dist/skills/using-ellipsis-text/references/gotchas.md +19 -0
  67. package/dist/skills/using-ellipsis-text/references/props.md +97 -0
  68. package/dist/skills/using-form-autocomplete/SKILL.md +87 -0
  69. package/dist/skills/using-form-autocomplete/references/examples.md +62 -0
  70. package/dist/skills/using-form-autocomplete/references/gotchas.md +13 -0
  71. package/dist/skills/using-form-autocomplete/references/props.md +100 -0
  72. package/dist/skills/using-form-cascade-select/SKILL.md +82 -0
  73. package/dist/skills/using-form-cascade-select/references/examples.md +59 -0
  74. package/dist/skills/using-form-cascade-select/references/gotchas.md +13 -0
  75. package/dist/skills/using-form-cascade-select/references/props.md +138 -0
  76. package/dist/skills/using-form-checkbox-group/SKILL.md +83 -0
  77. package/dist/skills/using-form-checkbox-group/references/examples.md +61 -0
  78. package/dist/skills/using-form-checkbox-group/references/gotchas.md +13 -0
  79. package/dist/skills/using-form-checkbox-group/references/props.md +85 -0
  80. package/dist/skills/using-form-date-picker/SKILL.md +79 -0
  81. package/dist/skills/using-form-date-picker/references/examples.md +54 -0
  82. package/dist/skills/using-form-date-picker/references/gotchas.md +10 -0
  83. package/dist/skills/using-form-date-picker/references/props.md +99 -0
  84. package/dist/skills/using-form-fields/SKILL.md +101 -0
  85. package/dist/skills/using-form-fields/references/examples.md +45 -0
  86. package/dist/skills/using-form-fields/references/gotchas.md +6 -0
  87. package/dist/skills/using-form-fields/references/props.md +57 -0
  88. package/dist/skills/using-form-item/SKILL.md +92 -0
  89. package/dist/skills/using-form-item/references/examples.md +59 -0
  90. package/dist/skills/using-form-item/references/gotchas.md +13 -0
  91. package/dist/skills/using-form-item/references/props.md +85 -0
  92. package/dist/skills/using-form-number/SKILL.md +82 -0
  93. package/dist/skills/using-form-number/references/examples.md +66 -0
  94. package/dist/skills/using-form-number/references/gotchas.md +13 -0
  95. package/dist/skills/using-form-number/references/props.md +82 -0
  96. package/dist/skills/using-form-radio-group/SKILL.md +83 -0
  97. package/dist/skills/using-form-radio-group/references/examples.md +53 -0
  98. package/dist/skills/using-form-radio-group/references/gotchas.md +13 -0
  99. package/dist/skills/using-form-radio-group/references/props.md +81 -0
  100. package/dist/skills/using-form-rate/SKILL.md +86 -0
  101. package/dist/skills/using-form-rate/references/examples.md +60 -0
  102. package/dist/skills/using-form-rate/references/gotchas.md +16 -0
  103. package/dist/skills/using-form-rate/references/props.md +88 -0
  104. package/dist/skills/using-form-select/SKILL.md +94 -0
  105. package/dist/skills/using-form-select/references/examples.md +67 -0
  106. package/dist/skills/using-form-select/references/gotchas.md +13 -0
  107. package/dist/skills/using-form-select/references/props.md +87 -0
  108. package/dist/skills/using-form-switch/SKILL.md +81 -0
  109. package/dist/skills/using-form-switch/references/examples.md +54 -0
  110. package/dist/skills/using-form-switch/references/gotchas.md +10 -0
  111. package/dist/skills/using-form-switch/references/props.md +83 -0
  112. package/dist/skills/using-form-tag-input/SKILL.md +83 -0
  113. package/dist/skills/using-form-tag-input/references/examples.md +53 -0
  114. package/dist/skills/using-form-tag-input/references/gotchas.md +13 -0
  115. package/dist/skills/using-form-tag-input/references/props.md +80 -0
  116. package/dist/skills/using-form-text/SKILL.md +82 -0
  117. package/dist/skills/using-form-text/references/examples.md +66 -0
  118. package/dist/skills/using-form-text/references/gotchas.md +13 -0
  119. package/dist/skills/using-form-text/references/props.md +98 -0
  120. package/dist/skills/using-form-time-picker/SKILL.md +78 -0
  121. package/dist/skills/using-form-time-picker/references/examples.md +53 -0
  122. package/dist/skills/using-form-time-picker/references/gotchas.md +10 -0
  123. package/dist/skills/using-form-time-picker/references/props.md +89 -0
  124. package/dist/skills/using-form-tree-select/SKILL.md +82 -0
  125. package/dist/skills/using-form-tree-select/references/examples.md +55 -0
  126. package/dist/skills/using-form-tree-select/references/gotchas.md +13 -0
  127. package/dist/skills/using-form-tree-select/references/props.md +86 -0
  128. package/dist/skills/using-image/SKILL.md +88 -0
  129. package/dist/skills/using-image/references/examples.md +31 -0
  130. package/dist/skills/using-image/references/gotchas.md +13 -0
  131. package/dist/skills/using-image/references/props.md +91 -0
  132. package/dist/skills/using-modal/SKILL.md +113 -0
  133. package/dist/skills/using-modal/references/examples.md +122 -0
  134. package/dist/skills/using-modal/references/gotchas.md +16 -0
  135. package/dist/skills/using-modal/references/props.md +100 -0
  136. package/dist/skills/using-query-form/SKILL.md +134 -0
  137. package/dist/skills/using-query-form/references/examples.md +103 -0
  138. package/dist/skills/using-query-form/references/gotchas.md +19 -0
  139. package/dist/skills/using-query-form/references/props.md +146 -0
  140. package/dist/skills/using-radio-group/SKILL.md +91 -0
  141. package/dist/skills/using-radio-group/references/examples.md +55 -0
  142. package/dist/skills/using-radio-group/references/gotchas.md +13 -0
  143. package/dist/skills/using-radio-group/references/props.md +83 -0
  144. package/dist/skills/using-select/SKILL.md +93 -0
  145. package/dist/skills/using-select/references/examples.md +50 -0
  146. package/dist/skills/using-select/references/gotchas.md +13 -0
  147. package/dist/skills/using-select/references/props.md +90 -0
  148. package/dist/style.css +1 -1
  149. package/package.json +1 -1
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: building-selection-inputs
3
+ description: Use when you need to route selection UX into the right direct component or form-wrapper skill across dropdown, checkbox, radio, and request-driven choice patterns.
4
+ ---
5
+
6
+ # Building selection inputs
7
+
8
+ ## Overview
9
+
10
+ Use this skill as the **selection-control router** for the package.
11
+
12
+ Its job is to decide between visible choice sets, dropdowns, remote option loading, and form-wrapper variants, then hand off to the right normalized `using-*` skill.
13
+
14
+ ## Use it when
15
+
16
+ Use this skill when several of these are true:
17
+
18
+ - you need to choose between dropdown, checkbox, radio, or remote-select patterns
19
+ - you need to know when to use a base selection component versus a `Form*` wrapper
20
+ - you want one quick routing layer before opening a component skill
21
+ - option visibility, option source, or wrapper context are still undecided
22
+
23
+ Strong signals this skill applies:
24
+
25
+ - “should users see all options or open a dropdown?”
26
+ - “is this local data or request-driven data?”
27
+ - “does this belong in a form wrapper?”
28
+
29
+ ## Prefer something else when
30
+
31
+ - you already know the exact selection component you need
32
+ → open `../using-select/SKILL.md`, `../using-data-select/SKILL.md`, `../using-radio-group/SKILL.md`, or `../using-checkbox-group/SKILL.md` directly
33
+ - the broader workflow is still undecided and the main question is page shape or form shape
34
+ → use `../choosing-components/SKILL.md`, `../building-form-workflows/SKILL.md`, or `../building-query-pages/SKILL.md`
35
+
36
+ ## Decision guide
37
+
38
+ Use `building-selection-inputs` if the answer is yes for **two or more** of these:
39
+
40
+ - Are several selection modalities still plausible?
41
+ - Does option visibility versus dropdown behavior matter to the UX?
42
+ - Is the source of options still undecided between local and request-driven?
43
+ - Do you need to choose between direct controls and form-wrapper versions?
44
+
45
+ If not, go straight to the narrowest known selection skill.
46
+
47
+ ## Recommended path
48
+
49
+ 1. Decide whether users should see all options at once or open a dropdown.
50
+ 2. Decide whether the option list is local or request-driven.
51
+ 3. If choices stay visible:
52
+ - one visible choice → `../using-radio-group/SKILL.md`
53
+ - many visible choices → `../using-checkbox-group/SKILL.md`
54
+ 4. If choices live in a dropdown:
55
+ - local options → `../using-select/SKILL.md`
56
+ - request-driven or filter-aware options → `../using-data-select/SKILL.md`
57
+ 5. If the control lives inside a schema-driven form or wrapper flow, swap to the matching `using-form-*` skill instead of the direct control.
58
+ - wrapped local dropdown → `../using-form-select/SKILL.md`
59
+ - wrapped visible single choice → `../using-form-radio-group/SKILL.md`
60
+ - wrapped visible multi choice → `../using-form-checkbox-group/SKILL.md`
61
+ - if request behavior is the dominant concern, compare `../using-data-select/SKILL.md` and `../using-form-select/SKILL.md` intentionally because there is no dedicated wrapped `DataSelect` router here
62
+
63
+ ## Common mistakes
64
+
65
+ - choosing a dropdown when the UX needs visible comparison of a short set
66
+ - using visible radio or checkbox groups for long lists that should be selects
67
+ - skipping the local-versus-request-driven decision and forcing `Select` or `DataSelect` too early
68
+ - choosing direct controls when the field really belongs in a wrapped form flow
69
+
70
+ ## Related skills
71
+
72
+ - Top-level router: `../choosing-components/SKILL.md`
73
+ - Local dropdown: `../using-select/SKILL.md`
74
+ - Request-aware dropdown: `../using-data-select/SKILL.md`
75
+ - Visible single-choice control: `../using-radio-group/SKILL.md`
76
+ - Visible multi-choice control: `../using-checkbox-group/SKILL.md`
77
+ - Wrapped local dropdown: `../using-form-select/SKILL.md`
78
+ - Wrapped visible single-choice control: `../using-form-radio-group/SKILL.md`
79
+ - Wrapped visible multi-choice control: `../using-form-checkbox-group/SKILL.md`
80
+
81
+ ## References
82
+
83
+ - Selection guide: `./references/selection-guide.md`
84
+ - Examples: `./references/examples.md`
85
+ - Gotchas: `./references/gotchas.md`
@@ -0,0 +1,87 @@
1
+ # Selection-input examples
2
+
3
+ ## 1. Short status picker
4
+
5
+ Use `../../using-radio-group/SKILL.md` when a single visible choice is clearer than a dropdown.
6
+
7
+ Minimal pattern:
8
+
9
+ ```vue
10
+ <RadioGroup :options="statusOptions" v-model="status" />
11
+ ```
12
+
13
+ Why this fits:
14
+
15
+ - only one value can be chosen
16
+ - the option set is short enough to stay visible
17
+ - comparison is easier than opening a dropdown
18
+
19
+ ## 2. Multi-tag preferences
20
+
21
+ Use `../../using-checkbox-group/SKILL.md` when users need to see and combine several fixed options.
22
+
23
+ Minimal pattern:
24
+
25
+ ```vue
26
+ <CheckboxGroup :options="featureOptions" v-model="enabledFeatures" />
27
+ ```
28
+
29
+ Why this fits:
30
+
31
+ - multiple values may be selected
32
+ - the option set is local and comparison-friendly
33
+ - visibility matters more than saving space
34
+
35
+ ## 3. Large or remote option list
36
+
37
+ Use `../../using-data-select/SKILL.md` when options depend on a request, params, or typed filtering.
38
+
39
+ Minimal pattern:
40
+
41
+ ```vue
42
+ <DataSelect v-model="userId" :request="requestUsers" filterable="remote" />
43
+ ```
44
+
45
+ Why this fits:
46
+
47
+ - options come from a request instead of a fixed local array
48
+ - loading behavior is part of the component decision
49
+ - a dropdown is more scalable than visible choices
50
+
51
+ ## 4. Local dropdown for known options
52
+
53
+ Use `../../using-select/SKILL.md` when the options are known locally but still clearer in a dropdown than as visible radios or checkboxes.
54
+
55
+ Minimal pattern:
56
+
57
+ ```vue
58
+ <Select :options="statusOptions" v-model="status" />
59
+ ```
60
+
61
+ Why this fits:
62
+
63
+ - the option list is local
64
+ - space matters more than visible comparison
65
+ - request behavior is not part of the component choice
66
+
67
+ ## 5. Same semantics inside a form wrapper
68
+
69
+ Use the matching `../../using-form-*.md` skill when the same choice semantics belong inside a schema-driven form flow.
70
+
71
+ Minimal pattern:
72
+
73
+ ```vue
74
+ <FormRadioGroup label="Status" prop="status" :options="statusOptions" />
75
+ ```
76
+
77
+ Common routes:
78
+
79
+ - wrapped visible single choice → `../../using-form-radio-group/SKILL.md`
80
+ - wrapped visible multi choice → `../../using-form-checkbox-group/SKILL.md`
81
+ - wrapped local dropdown → `../../using-form-select/SKILL.md`
82
+
83
+ Special note:
84
+
85
+ - if request behavior is the dominant concern inside a form-like surface, compare `../../using-data-select/SKILL.md` and `../../using-form-select/SKILL.md` intentionally, because there is no dedicated wrapped `DataSelect` router here
86
+
87
+ Use this route when the wrapper boundary matters as much as the selection modality.
@@ -0,0 +1,19 @@
1
+ # Selection-input gotchas
2
+
3
+ - “Visible choices” and “dropdown choices” are different UX decisions
4
+ Do not choose by implementation habit before deciding which interaction users should see.
5
+
6
+ - The routing order matters
7
+ Decide visible-versus-dropdown first, local-versus-request-driven second, and direct-versus-wrapper third. Reversing that order usually creates the wrong component choice.
8
+
9
+ - Short option sets often should stay visible
10
+ Do not jump to a dropdown when a short set benefits from direct comparison as radios or checkboxes.
11
+
12
+ - Long visible choice sets become noise fast
13
+ If users must scan too many always-visible options, move back toward `Select` or `DataSelect` instead of forcing radio or checkbox groups.
14
+
15
+ - Local and request-driven options are different component families
16
+ If loading behavior matters, make that decision before picking between `Select` and `DataSelect`.
17
+
18
+ - Direct controls and form-wrapper controls are different abstraction levels
19
+ Use the wrapper variants when the field belongs inside schema-driven form flow.
@@ -0,0 +1,47 @@
1
+ # Selection guide
2
+
3
+ Use this guide when the control is already known to be a **selection input** and the remaining decision is about modality, option source, or wrapper depth.
4
+
5
+ ## 1. Decide whether options stay visible or live in a dropdown
6
+
7
+ - visible single choice → `../../using-radio-group/SKILL.md`
8
+ - visible multi choice → `../../using-checkbox-group/SKILL.md`
9
+ - dropdown choice → continue to the source decision below
10
+
11
+ ## 2. If it is a dropdown, decide whether options are local or request-driven
12
+
13
+ - local dropdown, grouped options, custom slots → `../../using-select/SKILL.md`
14
+ - request-driven options, filter-aware loading, debounce → `../../using-data-select/SKILL.md`
15
+
16
+ Prefer `DataSelect` only when option-loading behavior is part of the component decision, not just a future possibility.
17
+
18
+ ## 3. Decide whether the control should be direct or wrapped
19
+
20
+ Use the direct component when:
21
+
22
+ - the control stands on its own
23
+ - wrapper-level label and validation behavior are not the main abstraction
24
+ - the main choice is purely about UX modality
25
+
26
+ Use form wrappers when:
27
+
28
+ - the control lives inside a schema-driven form
29
+ - the field should inherit `FormItem` label, validation, and wrapper behavior
30
+ - the choice semantics stay the same, but the abstraction level changes
31
+
32
+ Wrapper destinations:
33
+
34
+ - `../../using-form-select/SKILL.md`
35
+ - `../../using-form-checkbox-group/SKILL.md`
36
+ - `../../using-form-radio-group/SKILL.md`
37
+ - `../../using-form-cascade-select/SKILL.md`
38
+ - `../../using-form-tree-select/SKILL.md`
39
+ - `../../using-form-autocomplete/SKILL.md`
40
+
41
+ ## 4. Keep these routing rules straight
42
+
43
+ - visible vs dropdown is a UX decision first
44
+ - local vs request-driven is a data-source decision second
45
+ - direct vs wrapper is an abstraction-level decision third
46
+
47
+ If the broader page or workflow family is still unclear, hand back up to `../../choosing-components/SKILL.md` instead of forcing a selection-control decision too early.
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: choosing-components
3
+ description: Use when you know the workflow or page shape you need, but not yet which @hinen/pro-element-plus using-* skill should lead the implementation.
4
+ ---
5
+
6
+ # Choosing components
7
+
8
+ ## Overview
9
+
10
+ Use this skill as the **top-level router** for the package skill system.
11
+
12
+ It is not a component API guide. Its job is to move from product intent — query page, form flow, overlay, selection control, or display primitive — into the smallest correct `using-*` or `building-*` skill.
13
+
14
+ ## Use it when
15
+
16
+ Use this skill when several of these are true:
17
+
18
+ - you know the workflow you need, but not the component name
19
+ - you need to decide between a direct component and a `Form*` wrapper
20
+ - you need to narrow down selection, overlay, query, or display building blocks quickly
21
+ - you want one routing layer before opening a deeper component skill
22
+
23
+ Strong signals this skill applies:
24
+
25
+ - “which component should I use here?”
26
+ - “is this a QueryForm page or a DataTable page?”
27
+ - “should this be a select, radios, or checkboxes?”
28
+ - “does this belong in a form wrapper?”
29
+
30
+ ## Prefer something else when
31
+
32
+ - you already know the exact component and only need its usage rules
33
+ → open the matching `using-*` skill directly
34
+ - you are already narrowed to one workflow family such as selection, forms, overlays, or query pages
35
+ → use `../building-selection-inputs/SKILL.md`, `../building-form-workflows/SKILL.md`, `../building-modal-workflows/SKILL.md`, or `../building-query-pages/SKILL.md`
36
+
37
+ ## Decision guide
38
+
39
+ Use `choosing-components` if the answer is yes for **two or more** of these:
40
+
41
+ - Do you only know the user task, not the component?
42
+ - Are several component families still plausible?
43
+ - Do you need help choosing between direct components and wrapper variants?
44
+ - Would opening one routing skill first reduce the chance of picking the wrong implementation path?
45
+
46
+ If not, go straight to the narrowest known `using-*` skill.
47
+
48
+ ## Recommended path
49
+
50
+ 1. Start from the user task: query page, schema form, overlay flow, selection input, or display-only primitive.
51
+ 2. Pick the relevant workflow router:
52
+ - query and result pages → `../building-query-pages/SKILL.md`
53
+ - schema-driven forms → `../building-form-workflows/SKILL.md`
54
+ - modal and drawer flows → `../building-modal-workflows/SKILL.md`
55
+ - choice controls → `../building-selection-inputs/SKILL.md`
56
+ 3. If none of those fit cleanly, use the component-group map to jump directly into the smallest `using-*` skill.
57
+ 4. Once narrowed, leave this skill and finish in the destination skill instead of staying at the top level.
58
+
59
+ ## Common mistakes
60
+
61
+ - staying in the top-level router when the correct destination skill is already obvious
62
+ - jumping directly to a low-level component before deciding whether the workflow wants a wrapper or page-level shell
63
+ - treating `choosing-components` like a props guide instead of a handoff layer
64
+ - using one component family to force-fit a workflow that clearly belongs to another family
65
+
66
+ ## Related skills
67
+
68
+ - Selection-control router: `../building-selection-inputs/SKILL.md`
69
+ - Form-workflow router: `../building-form-workflows/SKILL.md`
70
+ - Overlay router: `../building-modal-workflows/SKILL.md`
71
+ - Query-page router: `../building-query-pages/SKILL.md`
72
+
73
+ ## References
74
+
75
+ - Component map: `./references/component-groups.md`
76
+ - Selection decision guide: `./references/selection-guide.md`
77
+ - Examples: `./references/examples.md`
78
+ - Gotchas: `./references/gotchas.md`
@@ -0,0 +1,37 @@
1
+ # Component groups
2
+
3
+ ## Page-building flows
4
+
5
+ - `../building-query-pages/SKILL.md` for search + results pages
6
+ - `../building-form-workflows/SKILL.md` for schema-driven forms
7
+ - `../building-modal-workflows/SKILL.md` for modal or drawer flows
8
+ - `../building-selection-inputs/SKILL.md` for option picking controls
9
+
10
+ ## Data and display
11
+
12
+ - `../../using-data-table/SKILL.md` for paginated query + table pages
13
+ - `../../using-query-form/SKILL.md` for standalone filter/search forms
14
+ - `../../using-image/SKILL.md` for image loading, preview, and failure states
15
+ - `../../using-ellipsis-text/SKILL.md` for truncation with tooltip support
16
+
17
+ ## Selection controls
18
+
19
+ - `../../using-select/SKILL.md` for local select inputs with slots and grouping
20
+ - `../../using-data-select/SKILL.md` for remote or request-driven options
21
+ - `../../using-checkbox-group/SKILL.md` for multi-select sets rendered as checkboxes
22
+ - `../../using-radio-group/SKILL.md` for single-choice sets rendered as radios
23
+
24
+ ## Overlays
25
+
26
+ - `../../using-modal/SKILL.md` for centered confirm or edit dialogs
27
+ - `../../using-drawer/SKILL.md` for side-panel flows with confirm and cancel actions
28
+
29
+ ## Form wrappers
30
+
31
+ - `../../using-form-fields/SKILL.md` for the `FormFields` family overview
32
+ - `../../using-form-item/SKILL.md` for label, validation, and tooltip wrapper behavior
33
+ - `../../using-form-text/SKILL.md`, `../../using-form-number/SKILL.md`, `../../using-form-select/SKILL.md` and the other `using-form-*` skills for field-specific details
34
+
35
+ ## Shared configuration
36
+
37
+ - `../../using-config-provider/SKILL.md` for shared DataTable empty and error rendering
@@ -0,0 +1,91 @@
1
+ # Choosing-components examples
2
+
3
+ ## 1. “I need a search page”
4
+
5
+ Start with `../building-query-pages/SKILL.md` when the page shape is filter plus results, not just one isolated component.
6
+
7
+ Typical fit:
8
+
9
+ - admin list page with filters and rows
10
+ - report page with a standard search shell
11
+ - table page that may later need shared empty or error treatment
12
+
13
+ ## 2. “I need a field in a business form”
14
+
15
+ Start with `../building-form-workflows/SKILL.md` when the main decision is wrapper-family field choice rather than one raw input control.
16
+
17
+ Typical fit:
18
+
19
+ - settings form
20
+ - record create or edit form
21
+ - schema-driven form with mixed text, number, and wrapped choice fields
22
+
23
+ ## 3. “I need users to pick from several options”
24
+
25
+ Start with `../building-selection-inputs/SKILL.md` when the choice is between dropdown, checkbox, radio, wrapper, or request-driven selection.
26
+
27
+ Typical fit:
28
+
29
+ - local dropdown versus visible radio decision
30
+ - API-backed selector with remote options
31
+ - selection control that may need a `Form*` wrapper instead of a direct component
32
+
33
+ ## 4. “I need an overlay flow”
34
+
35
+ Start with `../building-modal-workflows/SKILL.md` when the main decision is centered modal versus side drawer.
36
+
37
+ Typical fit:
38
+
39
+ - confirm dialog
40
+ - compact modal editor
41
+ - side-panel review or edit flow
42
+
43
+ ## 5. “I need a selection control inside a form”
44
+
45
+ Start with `../building-selection-inputs/SKILL.md` to choose the selection modality first, then move into `../building-form-workflows/SKILL.md` or the matching `using-form-*` skill when wrapper semantics become the real decision.
46
+
47
+ Typical fit:
48
+
49
+ - status selector inside a schema form
50
+ - wrapped checkbox or radio field in settings forms
51
+ - remote choice input that still belongs to a `FormItem` flow
52
+
53
+ ## 6. “I need an overlay that contains a form”
54
+
55
+ Start with `../building-modal-workflows/SKILL.md` for the shell decision, then hand off to `../building-form-workflows/SKILL.md` for the body workflow.
56
+
57
+ Typical fit:
58
+
59
+ - edit-user modal
60
+ - create-project drawer
61
+ - approval overlay with wrapped fields and validation
62
+
63
+ ## 7. “I need an overlay that contains a searchable list”
64
+
65
+ Start with `../building-modal-workflows/SKILL.md` for the shell decision, then hand off to `../building-query-pages/SKILL.md` when the body is really filter plus results.
66
+
67
+ Typical fit:
68
+
69
+ - select-from-list drawer
70
+ - search-and-pick modal
71
+ - review-history overlay with filters and rows
72
+
73
+ ## 8. “I need the same field semantics in both forms and search pages”
74
+
75
+ Start with the workflow that owns the current surface, but expect a handoff between `../building-form-workflows/SKILL.md` and `../building-query-pages/SKILL.md` when the field meaning must stay consistent across both contexts.
76
+
77
+ Typical fit:
78
+
79
+ - status and date fields that appear in both edit forms and list filters
80
+ - business entities edited in one screen and searched in another
81
+
82
+ ## 9. “I’m not sure whether this is a page shell, a field choice, or an overlay problem”
83
+
84
+ Stay in `choosing-components` long enough to classify the user task first:
85
+
86
+ - page with filters and results → `../building-query-pages/SKILL.md`
87
+ - business-form flow → `../building-form-workflows/SKILL.md`
88
+ - overlay shell decision → `../building-modal-workflows/SKILL.md`
89
+ - selection modality decision → `../building-selection-inputs/SKILL.md`
90
+
91
+ If the destination is already obvious after that classification, leave the top-level router immediately.
@@ -0,0 +1,10 @@
1
+ # Choosing-components gotchas
2
+
3
+ - This skill is a router, not a destination
4
+ Once the correct workflow family is clear, move into that skill instead of staying here.
5
+
6
+ - Workflow shape matters more than component names
7
+ Choosing by familiar component names too early often leads to the wrong abstraction level.
8
+
9
+ - Direct components and `Form*` wrappers are different decisions
10
+ If the control belongs in schema-driven form flow, use the form router before picking a direct component.
@@ -0,0 +1,40 @@
1
+ # Selection guide
2
+
3
+ Use this guide only when you are still at the **top-level routing** stage and selection controls are merely one candidate family among several.
4
+
5
+ ## Start here
6
+
7
+ - If the product question is really “which kind of selection control is this?” → go to `../../building-selection-inputs/SKILL.md`
8
+ - If the broader page or workflow family is still unclear → stay in `../SKILL.md` and finish the top-level routing first
9
+
10
+ ## Use direct selection components when
11
+
12
+ - the control stands on its own outside a schema-driven wrapper flow
13
+ - the main question is direct component choice rather than form-shell semantics
14
+
15
+ Typical direct destinations:
16
+
17
+ - local dropdown → `../../using-select/SKILL.md`
18
+ - request-driven dropdown → `../../using-data-select/SKILL.md`
19
+ - visible single choice → `../../using-radio-group/SKILL.md`
20
+ - visible multi choice → `../../using-checkbox-group/SKILL.md`
21
+
22
+ ## Use form wrappers when
23
+
24
+ - the control lives inside a schema-driven form or `QueryForm.items`
25
+ - `FormItem` label, validation, and wrapper behavior should come along with the field
26
+ - the choice semantics stay the same, but the abstraction level changes
27
+
28
+ Typical wrapper destinations:
29
+
30
+ - `../../using-form-select/SKILL.md`
31
+ - `../../using-form-checkbox-group/SKILL.md`
32
+ - `../../using-form-radio-group/SKILL.md`
33
+ - `../../using-form-cascade-select/SKILL.md`
34
+ - `../../using-form-tree-select/SKILL.md`
35
+ - `../../using-form-autocomplete/SKILL.md`
36
+
37
+ ## When to leave this guide
38
+
39
+ - If selection controls are definitely the right family, continue in `../../building-selection-inputs/SKILL.md` or its references instead of staying in the top-level router.
40
+ - If the workflow is already known to be query-page, form-workflow, or overlay work, use that router directly.