@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formkit/pro",
3
- "version": "1.0.0-alpha.68",
3
+ "version": "1.0.0-alpha.69",
4
4
  "description": "FormKit Pro — Form inputs and tools for high quality forms.",
5
5
  "main": "index.cjs",
6
6
  "module": "index.mjs",
@@ -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(dropdownKeyHandler, dropdownDisplayHandler(getSelections)),
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
+ }