@formkit/pro 1.0.0-alpha.68 → 1.0.0-alpha.69
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 +1 -0
- package/autocomplete/autocomplete.ts +5 -1
- package/dropdown/dropdown.ts +3 -2
- package/genesis.css +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +8 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
- package/taglist/taglist.ts +5 -1
- package/transferList/index.mjs +1 -0
- package/transferList/transferList.ts +192 -0
package/package.json
CHANGED
package/taglist/taglist.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { default as taglistFeature } from '../features/taglist'
|
|
|
4
4
|
import {
|
|
5
5
|
dropdownKeyHandler,
|
|
6
6
|
dropdownDisplayHandler,
|
|
7
|
+
setSelectedOption,
|
|
7
8
|
} from '../features/dropdownFeatures'
|
|
8
9
|
import { getSelections } from '../features/taglistFeatures'
|
|
9
10
|
import { options, defaultIcon, localize } from '@formkit/inputs'
|
|
@@ -86,7 +87,10 @@ export const taglist: FormKitProInput = {
|
|
|
86
87
|
features: [
|
|
87
88
|
options,
|
|
88
89
|
taglistFeature,
|
|
89
|
-
dropdownFeature(
|
|
90
|
+
dropdownFeature(
|
|
91
|
+
dropdownKeyHandler,
|
|
92
|
+
dropdownDisplayHandler(getSelections, setSelectedOption)
|
|
93
|
+
),
|
|
90
94
|
autocompleteFeature(getSelections),
|
|
91
95
|
defaultIcon('select', 'select'),
|
|
92
96
|
defaultIcon('close', 'close'),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createSectionFactory as e,createBaseSections as s}from"../index.mjs";const t=e("tf"),{outer:a,wrapper:r,inner:l,icon:o,prefix:i,suffix:n,help:d,messages:c,message:$}=s(t),u=t("fieldset",(()=>({$el:"fieldset",attrs:{id:'$id + "_fieldset"',role:"presentation","aria-describedby":{if:"$help",then:'$: "help-" + $id',else:void 0}}}))),f=t("legend",(()=>({if:"$label",$el:"legend"}))),p=t("area",(()=>({$el:"div",attrs:{id:'$id + "_area"'}}))),_=t("source",(()=>({$el:"div",attrs:{id:'$id + "_source"',class:'$classes.transferlist + " " + $classes.source'}}))),g=t("sourceHeader",(()=>({$el:"div",attrs:{id:'$id + "_source_header"',role:"presentation",class:'$classes.transferlistHeader + " " + $classes.sourceHeader'}}))),b=t("sourceHeaderLabel",(()=>({if:"$sourceLabel",$el:"label",attrs:{id:'$id + "_source_header_label"',for:'$id + "_source_search_input"',class:'$classes.transferlistHeaderLabel + " " + $classes.sourceHeaderLabel'},children:"$sourceLabel || $label"}))),h=t("sourceHeaderItemCount",(()=>({$el:"span",attrs:{id:'$id + "_source_header_item_count"',role:"presentation","aria-label":'$fns.getOptionCount() + " items"',class:'$classes.transferlistHeaderItemCount + " " + $classes.sourceHeaderItemCount'},children:"$fns.getOptionCount()"}))),m=t("targetHeaderLabel",(()=>({if:"$targetLabel",$el:"label",attrs:{id:'$id + "_target_header_label"',for:'$id + "_target_search_input"',class:'$classes.transferlistHeaderLabel + " " + $classes.targetHeaderLabel'},children:"$targetLabel || $label"}))),v=t("targetHeaderItemCount",(()=>({$el:"span",attrs:{id:'$id + "_target_header_item_count"',role:"presentation",tabindex:"0","aria-label":'$fns.getOptionCount(true) + " items"',class:'$classes.transferlistHeaderItemCount + " " + $classes.targetHeaderItemCount'},children:"$fns.getOptionCount(true)"}))),L=t("sourceControls",(()=>({$el:"div",if:"$searchable",attrs:{id:'$id + "_source_controls"',class:'$classes.transferlistControls + " " + $classes.sourceControls'}}))),y=t("sourceSearch",(()=>({if:"$searchable",$el:"div",attrs:{id:'$id + "_source_search"',class:'$classes.transferlistSearch + " " + $classes.sourceSearch'}}))),M=t("sourceSearchInput",(()=>({$el:"input",attrs:{id:'$id + "_source_search_input"',type:"text",placeholder:"$placeholder",onInput:"$handlers.onSearch",value:"$inputText",onKeydown:"$handlers.sourceKeyDown","aria-label":"Search",role:"searchbox",class:'$classes.transferlistSearchInput + " " + $classes.sourceSearchInput'}}))),w=t("sourceSearchClear",(()=>({$el:"button",if:"$inputText !== undefined",attrs:{id:'$id + "_source_search_clear"',type:"button",onClick:"$handlers.clearSearch","aria-label":"Clear search",class:'$classes.transferlistSearchClear + " " + $classes.sourceSearchClear'}}))),C=t("sourceListItems",(()=>({$el:"ul",attrs:{id:'$id + "_source_list_items"',"aria-activedescendant":"$activeDescendant",onMouseover:"$handlers.onMouseEnter(true)",onMouseout:"$handlers.onMouseLeave(true)",role:"listbox","aria-multiselectable":"true","aria-roledescription":"List of options to choose from.",class:'$classes.transferlistListItems + " " + $classes.sourceListItems'}}))),I=t("template",(()=>({for:["option","index","$options"],$el:null}))),k=t("sourceListItem",(()=>({if:"$targetOptionValues.includes($fns.optionValue($option)) === false",$el:"li",attrs:{id:'$id + "_source_list_item_" + $index',"data-value":"$option.value","aria-selected":"$selections && $selections.length > 0 && $fns.isSelected($option)","data-is-active":"$fns.isActive($option)","data-disabled":"$option.attrs.disabled",onKeydown:"$targetOptionValues.includes($option.value) === false && $handlers.sourceKeyDown",role:"option",onClick:"$option.attrs.disabled !== true && $handlers.selectOption($option, true)",key:"$option.value",class:'$classes.transferlistListItem + " " + $classes.sourceListItem'}}))),H=t("sourceOption",(()=>({$el:"div",attrs:{"data-checked":"$selections && $selections.length > 0 && $fns.isSelected($option)",class:'$classes.transferlistOption + " " + $classes.sourceOption'}}))),S=t("sourceLoadMore",(()=>({$el:"li",if:"$targetLoading !== true && $state.loading || $state.hasNextPage",attrs:{id:'$id + "_source_load_more"',key:"loadMore","aria-selected":"false",class:'$classes.transferlistLoadMore + " " + $classes.sourceLoadMore'}}))),O=t("loadMoreInner","span"),B=t("target",(()=>({$el:"div",attrs:{id:'$id + "_target"',class:'$classes.transferlist + " " + $classes.target'}}))),x=t("targetHeader",(()=>({$el:"div",attrs:{id:'$id + "_target_header"',role:"presentation",tabindex:"0",class:'$classes.transferlistHeader + " " + $classes.targetHeader'}}))),A=t("targetHeaderName",(()=>({if:"$target.label !== undefined",$el:"span",attrs:{id:'$id + "_target_header_name"',class:'$classes.transferlistHeaderName + " " + $classes.targetHeaderName'},children:"$target.label"}))),E=t("targetListItems",(()=>({$el:"ul",attrs:{id:"$id","aria-activedescendant":"$activeDescendant",onMouseover:"$handlers.onMouseEnter(false)",onMouseout:"$handlers.onMouseLeave(false)",class:'$classes.transferlistListItems + " " + $classes.targetListItems'}}))),F=t("targetListItem",(()=>({for:["option","index","$targetOptions"],$el:"li",attrs:{id:'$id + "_target_list_item_" + $index',"data-disabled":"$option.attrs.disabled","data-value":"$option.value","aria-selected":"$selections && $selections.length && $fns.isSelected($option, $target)","data-is-active":"$fns.isActive($option)",onKeydown:"$handlers.targetKeyDown",role:"option",onClick:"$option.attrs.disabled !== true && $handlers.selectOption($option, false)",key:"$option.value",class:'$classes.transferlistListItem + " " + $classes.targetListItem'}}))),K=t("targetOption",(()=>({$el:"div",attrs:{id:'$id + "_target_list_item_" + $index',class:'$classes.transferlistOption + " " + $classes.targetOption'}}))),D=t("targetLoadMore",(()=>({$el:"li",if:"$targetLoading && $state.loading",attrs:{id:'$id + "_target_load_more"',key:"loadMore","aria-selected":"false",class:'$classes.transferlistLoadMore + " " + $classes.targetLoadMore'}}))),N=t("transferControls",(()=>({$el:"div",attrs:{id:'$id + "_transfer_controls"'}}))),T=t("transferButtonForward",(()=>({if:"$transferOnSelect !== true",$el:"button",attrs:{id:'$id + "_transfer_button_forward"',type:"button",disabled:"$selections.length === 0 || $sourceSelected === false || $state.loading || $disabled",onClick:"$handlers.transferForward","aria-label":"Add selected values",class:'$classes.transferlistButton + " " + $classes.transferButtonForward'}}))),V=t("transferButtonForwardAll",(()=>({$el:"button",attrs:{id:'$id + "_transfer_button_forward_all"',type:"button",disabled:"$options.length === $targetOptions.length || $state.loading || $disabled",onClick:"$handlers.transferForwardAll","aria-label":"Transfer all options",class:'$classes.transferlistButton + " " + $classes.transferButtonForwardAll'}}))),R=t("transferButtonBackward",(()=>({if:"$transferOnSelect !== true",$el:"button",attrs:{id:'$id + "_transfer_button_backward"',onClick:"$handlers.transferBackward",type:"button",disabled:"$selections.length === 0 || $sourceSelected === true || $state.loading || $disabled","aria-label":"Remove selected values",class:'$classes.transferlistButton + " " + $classes.transferButtonBackward'}}))),P=t("transferButtonBackwardAll",(()=>({$el:"button",attrs:{id:'$id + "_transfer_button_backward_all"',onClick:"$handlers.transferBackwardAll",type:"button",disabled:"$targetOptions.length === 0 || $state.loading || $disabled","aria-label":"Remove all values",class:'$classes.transferlistButton + " " + $classes.transferButtonBackwardAll'}}))),j=t("controlLabel","span"),q=t("sourceEmptyMessage",(()=>({$el:"li",if:"$showSourceEmptyMessage && $sourceEmptyMessage && $state.loading !== true",attrs:{id:'$id + "_source_empty_message"',key:"$sourceEmptyMessage",role:"presentation"}}))),z=t("targetEmptyMessage",(()=>({$el:"li",if:"$showTargetEmptyMessage && $targetEmptyMessage && $state.loading !== true",attrs:{id:'$id + "_empty_message"',key:"$emptyMessage",role:"presentation"}}))),G=t("emptyMessageInner","span");export{p as area,j as controlLabel,t as createSection,G as emptyMessageInner,u as fieldset,d as help,o as icon,l as inner,f as legend,O as loadMoreInner,$ as message,c as messages,a as outer,i as prefix,_ as source,L as sourceControls,q as sourceEmptyMessage,g as sourceHeader,h as sourceHeaderItemCount,b as sourceHeaderLabel,k as sourceListItem,C as sourceListItems,S as sourceLoadMore,H as sourceOption,y as sourceSearch,w as sourceSearchClear,M as sourceSearchInput,n as suffix,B as target,z as targetEmptyMessage,x as targetHeader,v as targetHeaderItemCount,m as targetHeaderLabel,A as targetHeaderName,F as targetListItem,E as targetListItems,D as targetLoadMore,K as targetOption,I as template,R as transferButtonBackward,P as transferButtonBackwardAll,T as transferButtonForward,V as transferButtonForwardAll,N as transferControls,r as wrapper};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { FormKitProInput } from '@formkit/pro'
|
|
2
|
+
import {
|
|
3
|
+
outer,
|
|
4
|
+
fieldset,
|
|
5
|
+
wrapper,
|
|
6
|
+
help,
|
|
7
|
+
controlLabel,
|
|
8
|
+
legend,
|
|
9
|
+
messages,
|
|
10
|
+
message,
|
|
11
|
+
target,
|
|
12
|
+
targetListItems,
|
|
13
|
+
targetListItem,
|
|
14
|
+
targetOption,
|
|
15
|
+
targetHeader,
|
|
16
|
+
targetHeaderItemCount,
|
|
17
|
+
targetHeaderLabel,
|
|
18
|
+
sourceHeaderLabel,
|
|
19
|
+
source,
|
|
20
|
+
sourceHeader,
|
|
21
|
+
sourceHeaderItemCount,
|
|
22
|
+
sourceControls,
|
|
23
|
+
sourceSearch,
|
|
24
|
+
sourceSearchInput,
|
|
25
|
+
sourceSearchClear,
|
|
26
|
+
sourceListItems,
|
|
27
|
+
sourceListItem,
|
|
28
|
+
sourceOption,
|
|
29
|
+
sourceLoadMore,
|
|
30
|
+
targetLoadMore,
|
|
31
|
+
template,
|
|
32
|
+
loadMoreInner,
|
|
33
|
+
transferControls,
|
|
34
|
+
transferButtonForward,
|
|
35
|
+
transferButtonBackward,
|
|
36
|
+
transferButtonForwardAll,
|
|
37
|
+
transferButtonBackwardAll,
|
|
38
|
+
icon,
|
|
39
|
+
sourceEmptyMessage,
|
|
40
|
+
targetEmptyMessage,
|
|
41
|
+
emptyMessageInner,
|
|
42
|
+
} from '../sections/transferListSections'
|
|
43
|
+
import { default as transferListFeature } from '../features/transferlist'
|
|
44
|
+
import {
|
|
45
|
+
dropdownDisplayHandler,
|
|
46
|
+
getSelections,
|
|
47
|
+
} from '../features/dropdownFeatures'
|
|
48
|
+
import { setSelectedOption } from '../features/transferlist'
|
|
49
|
+
import { options, defaultIcon, localize } from '@formkit/inputs'
|
|
50
|
+
import { $if } from '../compose'
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Input definition for a transferlist input.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export const transferlist: FormKitProInput = {
|
|
57
|
+
/**
|
|
58
|
+
* The actual schema of the input, or a function that returns the schema.
|
|
59
|
+
*/
|
|
60
|
+
schema: outer(
|
|
61
|
+
fieldset(
|
|
62
|
+
legend('$label'),
|
|
63
|
+
help('$help'),
|
|
64
|
+
wrapper(
|
|
65
|
+
source(
|
|
66
|
+
sourceHeader(sourceHeaderLabel(), sourceHeaderItemCount()),
|
|
67
|
+
sourceControls(
|
|
68
|
+
sourceSearch(sourceSearchInput(), sourceSearchClear(icon('close')))
|
|
69
|
+
),
|
|
70
|
+
sourceListItems(
|
|
71
|
+
sourceEmptyMessage(emptyMessageInner('$sourceEmptyMessage')),
|
|
72
|
+
template(
|
|
73
|
+
sourceListItem(
|
|
74
|
+
$if('$fns.isSelected($option)', icon('selected')),
|
|
75
|
+
sourceOption('$option.label')
|
|
76
|
+
)
|
|
77
|
+
),
|
|
78
|
+
sourceLoadMore(
|
|
79
|
+
loadMoreInner(
|
|
80
|
+
$if(
|
|
81
|
+
'$targetLoading !== true && $state.loading',
|
|
82
|
+
icon('loader')
|
|
83
|
+
),
|
|
84
|
+
'$state.loading && $ui.isLoading.value || $ui.loadMore.value'
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
),
|
|
89
|
+
transferControls(
|
|
90
|
+
transferButtonForwardAll(
|
|
91
|
+
controlLabel('$ui.addAllValues.value'),
|
|
92
|
+
icon('fastForward')
|
|
93
|
+
),
|
|
94
|
+
transferButtonForward(
|
|
95
|
+
controlLabel('$ui.addSelectedValues.value'),
|
|
96
|
+
icon('moveRight')
|
|
97
|
+
),
|
|
98
|
+
transferButtonBackward(
|
|
99
|
+
controlLabel('$ui.removeSelectedValues.value'),
|
|
100
|
+
icon('moveLeft')
|
|
101
|
+
),
|
|
102
|
+
transferButtonBackwardAll(
|
|
103
|
+
controlLabel('$ui.removeAllSelectedValues.value'),
|
|
104
|
+
icon('rewind')
|
|
105
|
+
)
|
|
106
|
+
),
|
|
107
|
+
target(
|
|
108
|
+
targetHeader(targetHeaderLabel(), targetHeaderItemCount()),
|
|
109
|
+
targetListItems(
|
|
110
|
+
targetEmptyMessage(emptyMessageInner('$targetEmptyMessage')),
|
|
111
|
+
targetListItem(
|
|
112
|
+
$if('$fns.isSelected($option)', icon('selected')),
|
|
113
|
+
targetOption('$option.label')
|
|
114
|
+
),
|
|
115
|
+
targetLoadMore(
|
|
116
|
+
loadMoreInner(
|
|
117
|
+
$if('$targetLoading && $state.loading', icon('loader')),
|
|
118
|
+
'$state.loading && $ui.isLoading.value || $ui.loadMore.value'
|
|
119
|
+
)
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
)
|
|
123
|
+
),
|
|
124
|
+
messages(message('$message.value'))
|
|
125
|
+
)
|
|
126
|
+
),
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The type of node, can be a list, group, or input.
|
|
130
|
+
*/
|
|
131
|
+
type: 'input',
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* An array of extra props to accept for this input.
|
|
135
|
+
*/
|
|
136
|
+
props: [
|
|
137
|
+
'options',
|
|
138
|
+
'selections',
|
|
139
|
+
'activeValue',
|
|
140
|
+
'activeDescendant',
|
|
141
|
+
'sourceSelected',
|
|
142
|
+
'targetOptions',
|
|
143
|
+
'target',
|
|
144
|
+
'source',
|
|
145
|
+
'optionLoader',
|
|
146
|
+
'filterOptions',
|
|
147
|
+
'inputText',
|
|
148
|
+
'renderList',
|
|
149
|
+
'search',
|
|
150
|
+
'hasNextPage',
|
|
151
|
+
'page',
|
|
152
|
+
'targetOptionValues',
|
|
153
|
+
'targetLoading',
|
|
154
|
+
'disableDragAndDrop',
|
|
155
|
+
'searchable',
|
|
156
|
+
'sourceLabel',
|
|
157
|
+
'targetLabel',
|
|
158
|
+
'addOnSelect',
|
|
159
|
+
'removeOnSelect',
|
|
160
|
+
'transferOnSelect',
|
|
161
|
+
'disabled',
|
|
162
|
+
'placeholder',
|
|
163
|
+
'filter',
|
|
164
|
+
'showSourceEmptyMessage',
|
|
165
|
+
'showTargetEmptyMessage',
|
|
166
|
+
'sourceEmptyMessage',
|
|
167
|
+
'targetEmptyMessage',
|
|
168
|
+
],
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Additional features that make this input work.
|
|
172
|
+
*/
|
|
173
|
+
features: [
|
|
174
|
+
transferListFeature(
|
|
175
|
+
dropdownDisplayHandler(getSelections, setSelectedOption)
|
|
176
|
+
),
|
|
177
|
+
options,
|
|
178
|
+
defaultIcon('moveRight', 'right'),
|
|
179
|
+
defaultIcon('moveLeft', 'left'),
|
|
180
|
+
defaultIcon('fastForward', 'fastForward'),
|
|
181
|
+
defaultIcon('rewind', 'rewind'),
|
|
182
|
+
defaultIcon('close', 'close'),
|
|
183
|
+
defaultIcon('loader', 'spinner'),
|
|
184
|
+
defaultIcon('selected', 'check'),
|
|
185
|
+
localize('isLoading'),
|
|
186
|
+
localize('loadMore'),
|
|
187
|
+
localize('addAllValues'),
|
|
188
|
+
localize('addSelectedValues'),
|
|
189
|
+
localize('removeSelectedValues'),
|
|
190
|
+
localize('removeAllValues'),
|
|
191
|
+
],
|
|
192
|
+
}
|