Skip to content

Commit 7ba52df

Browse files
authored
fix(multi-select): render checkboxes for form data (#1835)
* chore: downgrade docs to svelte 3 for compatibility * chore(multi-select): keep checkboxes rendered in DOM * Display ListBox via CSS See #1742
1 parent 33214e0 commit 7ba52df

File tree

7 files changed

+87
-195
lines changed

7 files changed

+87
-195
lines changed

COMPONENT_INDEX.md

Lines changed: 37 additions & 37 deletions
Large diffs are not rendered by default.

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"prism-svelte": "^0.4.7",
2323
"prismjs": "^1.28.0",
2424
"remark-slug": "^6.0.0",
25-
"svelte": "^4.2.0",
25+
"svelte": "^3",
2626
"vite": "^3.0.9"
2727
},
2828
"routify": {

docs/src/COMPONENT_API.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7006,8 +7006,8 @@
70067006
{
70077007
"name": "itemToInput",
70087008
"kind": "let",
7009-
"description": "Override the item name, title, labelText passed to the checkbox input",
7010-
"type": "(item: MultiSelectItem) => { name?: string; labelText?: any; title?: string; }",
7009+
"description": "Override the item name, title, labelText, or value passed to the user-selectable checkbox input as well as the hidden inputs.",
7010+
"type": "(item: MultiSelectItem) => { name?: string; labelText?: any; title?: string; value?: string }",
70117011
"value": "(item) => {}",
70127012
"isFunction": true,
70137013
"isFunctionDeclaration": false,

docs/src/pages/components/MultiSelect.svx

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111

1212
## Default
1313

14-
By default, items will be ordered alphabetically based on the `item.text` value. To prevent this, see [#no-alphabetical-ordering](#no-alphabetical-ordering).
14+
By default, items will be ordered alphabetically based on the `item.text` value.
15+
To prevent this, see [#no-alphabetical-ordering](#no-alphabetical-ordering).
16+
17+
MultiSelect provides interactivity for a list of checkbox inputs. Those
18+
checkboxes will remain rendered in the DOM and are submittable within forms.
19+
Checkbox attributes can be adjusted via the `itemToInput` prop.
1520

1621
<MultiSelect titleText="Contact" label="Select contact methods..."
1722
items="{[{id: "0", text: "Slack"},
@@ -73,6 +78,34 @@ Use the `itemToString` prop to format the display of individual items.
7378
sortItem="{() => {}}"
7479
/>
7580

81+
## Format checkbox values
82+
83+
Use the `itemToInput` prop to customize the user-selectable checkbox values.
84+
This will also override the underlying hidden inputs used for form submission.
85+
86+
For example:
87+
88+
```js
89+
(item) => ({name: `Contact_${item.id}`], value: item.id})
90+
91+
92+
```
93+
94+
The above function sets the `name` attribute to
95+
`Contact_0` (respective to each item's `id`) for every hidden input that
96+
renders, along with each respective item's `id` set to the `value` attribute.
97+
98+
<MultiSelect
99+
itemToInput={(item) => ({name: 'contact', value: item.id})}
100+
titleText="Contact"
101+
label="Select contact methods..."
102+
items="{[
103+
{id: "0", text: "Slack"},
104+
{id: "1", text: "Email"},
105+
{id: "2", text: "Fax"}
106+
]}"
107+
/>
108+
76109
## Top direction
77110

78111
Set `direction` to `"top"` for the dropdown menu to appear above the input.
@@ -159,4 +192,4 @@ Use the `disabled` property in the `items` prop to disable specific items.
159192
{ id: "1", text: "Email", disabled: true },
160193
{ id: "2", text: "Fax" },
161194
]}
162-
/>
195+
/>

docs/yarn.lock

Lines changed: 6 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,11 @@
22
# yarn lockfile v1
33

44

5-
"@ampproject/remapping@^2.2.1":
6-
version "2.2.1"
7-
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
8-
integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
9-
dependencies:
10-
"@jridgewell/gen-mapping" "^0.3.0"
11-
"@jridgewell/trace-mapping" "^0.3.9"
12-
135
"@esbuild/linux-loong64@0.14.54":
146
version "0.14.54"
157
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
168
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
179

18-
"@jridgewell/gen-mapping@^0.3.0":
19-
version "0.3.3"
20-
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
21-
integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
22-
dependencies:
23-
"@jridgewell/set-array" "^1.0.1"
24-
"@jridgewell/sourcemap-codec" "^1.4.10"
25-
"@jridgewell/trace-mapping" "^0.3.9"
26-
27-
"@jridgewell/resolve-uri@^3.1.0":
28-
version "3.1.1"
29-
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
30-
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
31-
32-
"@jridgewell/set-array@^1.0.1":
33-
version "1.1.2"
34-
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
35-
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
36-
37-
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
38-
version "1.4.15"
39-
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
40-
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
41-
42-
"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
43-
version "0.3.19"
44-
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811"
45-
integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==
46-
dependencies:
47-
"@jridgewell/resolve-uri" "^3.1.0"
48-
"@jridgewell/sourcemap-codec" "^1.4.14"
49-
5010
"@rollup/pluginutils@^4.2.1":
5111
version "4.2.1"
5212
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
@@ -103,11 +63,6 @@
10363
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
10464
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
10565

106-
"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.1":
107-
version "1.0.1"
108-
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
109-
integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==
110-
11166
"@types/node@>=4.2.0 < 13":
11267
version "12.12.67"
11368
resolved "https://registry.npmjs.org/@types/node/-/node-12.12.67.tgz#4f86badb292e822e3b13730a1f9713ed2377f789"
@@ -141,11 +96,6 @@ acorn@^7.1.1:
14196
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
14297
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
14398

144-
acorn@^8.10.0, acorn@^8.9.0:
145-
version "8.10.0"
146-
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
147-
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
148-
14999
acorn@^8.2.4:
150100
version "8.7.1"
151101
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
@@ -179,13 +129,6 @@ argparse@^1.0.7:
179129
dependencies:
180130
sprintf-js "~1.0.2"
181131

182-
aria-query@^5.3.0:
183-
version "5.3.0"
184-
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e"
185-
integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
186-
dependencies:
187-
dequal "^2.0.3"
188-
189132
asynckit@^0.4.0:
190133
version "0.4.0"
191134
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -196,13 +139,6 @@ at-least-node@^1.0.0:
196139
resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
197140
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
198141

199-
axobject-query@^3.2.1:
200-
version "3.2.1"
201-
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
202-
integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==
203-
dependencies:
204-
dequal "^2.0.3"
205-
206142
balanced-match@^1.0.0:
207143
version "1.0.0"
208144
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -229,7 +165,7 @@ bufferutil@^4.0.1:
229165
node-gyp-build "~3.7.0"
230166

231167
carbon-components-svelte@../:
232-
version "0.80.0"
168+
version "0.81.1"
233169
dependencies:
234170
flatpickr "4.6.9"
235171

@@ -265,17 +201,6 @@ clipboard-copy@^4.0.1:
265201
resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-4.0.1.tgz#326ef9726d4ffe72d9a82a7bbe19379de692017d"
266202
integrity sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==
267203

268-
code-red@^1.0.3:
269-
version "1.0.4"
270-
resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.4.tgz#59ba5c9d1d320a4ef795bc10a28bd42bfebe3e35"
271-
integrity sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==
272-
dependencies:
273-
"@jridgewell/sourcemap-codec" "^1.4.15"
274-
"@types/estree" "^1.0.1"
275-
acorn "^8.10.0"
276-
estree-walker "^3.0.3"
277-
periscopic "^3.1.0"
278-
279204
color-convert@^1.9.0:
280205
version "1.9.3"
281206
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -344,14 +269,6 @@ cross-spawn@^7.0.1:
344269
shebang-command "^2.0.0"
345270
which "^2.0.1"
346271

347-
css-tree@^2.3.1:
348-
version "2.3.1"
349-
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
350-
integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
351-
dependencies:
352-
mdn-data "2.0.30"
353-
source-map-js "^1.0.1"
354-
355272
cssom@^0.4.4:
356273
version "0.4.4"
357274
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
@@ -412,11 +329,6 @@ delayed-stream@~1.0.0:
412329
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
413330
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
414331

415-
dequal@^2.0.3:
416-
version "2.0.3"
417-
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
418-
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
419-
420332
domexception@^2.0.1:
421333
version "2.0.1"
422334
resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
@@ -654,13 +566,6 @@ estree-walker@^2.0.1:
654566
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
655567
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
656568

657-
estree-walker@^3.0.0, estree-walker@^3.0.3:
658-
version "3.0.3"
659-
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
660-
integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
661-
dependencies:
662-
"@types/estree" "^1.0.0"
663-
664569
esutils@^2.0.2:
665570
version "2.0.3"
666571
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -807,13 +712,6 @@ is-potential-custom-element-name@^1.0.1:
807712
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
808713
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
809714

810-
is-reference@^3.0.0, is-reference@^3.0.1:
811-
version "3.0.1"
812-
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.1.tgz#d400f4260f7e55733955e60d361d827eb4d3b831"
813-
integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==
814-
dependencies:
815-
"@types/estree" "*"
816-
817715
is-regex@^1.1.1:
818716
version "1.1.1"
819717
resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
@@ -918,11 +816,6 @@ load-json-file@^4.0.0:
918816
pify "^3.0.0"
919817
strip-bom "^3.0.0"
920818

921-
locate-character@^3.0.0:
922-
version "3.0.0"
923-
resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974"
924-
integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==
925-
926819
lodash@^4.7.0:
927820
version "4.17.21"
928821
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
@@ -942,23 +835,11 @@ magic-string@^0.26.2:
942835
dependencies:
943836
sourcemap-codec "^1.4.8"
944837

945-
magic-string@^0.30.0:
946-
version "0.30.3"
947-
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85"
948-
integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==
949-
dependencies:
950-
"@jridgewell/sourcemap-codec" "^1.4.15"
951-
952838
mdast-util-to-string@^1.0.0:
953839
version "1.1.0"
954840
resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527"
955841
integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
956842

957-
mdn-data@2.0.30:
958-
version "2.0.30"
959-
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
960-
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
961-
962843
mdsvex@^0.10.6:
963844
version "0.10.6"
964845
resolved "https://registry.yarnpkg.com/mdsvex/-/mdsvex-0.10.6.tgz#5ba975f4616e5255ca31cd93d33e2c2a22845631"
@@ -1125,15 +1006,6 @@ path-type@^3.0.0:
11251006
dependencies:
11261007
pify "^3.0.0"
11271008

1128-
periscopic@^3.1.0:
1129-
version "3.1.0"
1130-
resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a"
1131-
integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==
1132-
dependencies:
1133-
"@types/estree" "^1.0.0"
1134-
estree-walker "^3.0.0"
1135-
is-reference "^3.0.0"
1136-
11371009
picocolors@^1.0.0:
11381010
version "1.0.0"
11391011
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
@@ -1319,7 +1191,7 @@ shell-quote@^1.6.1:
13191191
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
13201192
integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
13211193

1322-
source-map-js@^1.0.1, source-map-js@^1.0.2:
1194+
source-map-js@^1.0.2:
13231195
version "1.0.2"
13241196
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
13251197
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
@@ -1418,24 +1290,10 @@ svelte-hmr@^0.14.12:
14181290
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.12.tgz#a127aec02f1896500b10148b2d4d21ddde39973f"
14191291
integrity sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==
14201292

1421-
svelte@^4.2.0:
1422-
version "4.2.0"
1423-
resolved "https://registry.yarnpkg.com/svelte/-/svelte-4.2.0.tgz#0e4304c15524450b22fba02516eb72efbd8847b6"
1424-
integrity sha512-kVsdPjDbLrv74SmLSUzAsBGquMs4MPgWGkGLpH+PjOYnFOziAvENVzgJmyOCV2gntxE32aNm8/sqNKD6LbIpeQ==
1425-
dependencies:
1426-
"@ampproject/remapping" "^2.2.1"
1427-
"@jridgewell/sourcemap-codec" "^1.4.15"
1428-
"@jridgewell/trace-mapping" "^0.3.18"
1429-
acorn "^8.9.0"
1430-
aria-query "^5.3.0"
1431-
axobject-query "^3.2.1"
1432-
code-red "^1.0.3"
1433-
css-tree "^2.3.1"
1434-
estree-walker "^3.0.3"
1435-
is-reference "^3.0.1"
1436-
locate-character "^3.0.0"
1437-
magic-string "^0.30.0"
1438-
periscopic "^3.1.0"
1293+
svelte@^3:
1294+
version "3.59.2"
1295+
resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.59.2.tgz#a137b28e025a181292b2ae2e3dca90bf8ec73aec"
1296+
integrity sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==
14391297

14401298
symbol-tree@^3.2.4:
14411299
version "3.2.4"

src/MultiSelect/MultiSelect.svelte

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
export let itemToString = (item) => item.text || item.id;
2323
2424
/**
25-
* Override the item name, title, labelText passed to the checkbox input
26-
* @type {(item: MultiSelectItem) => { name?: string; labelText?: any; title?: string; }}
25+
* Override the item name, title, labelText, or value passed to the user-selectable checkbox input as well as the hidden inputs.
26+
* @type {(item: MultiSelectItem) => { name?: string; labelText?: any; title?: string; value?: string }}
2727
*/
2828
export let itemToInput = (item) => {};
2929
@@ -483,7 +483,7 @@
483483
<ListBoxMenuIcon open="{open}" translateWithId="{translateWithId}" />
484484
{/if}
485485
</ListBoxField>
486-
{#if open}
486+
<div style:display="{open ? "block" : "none"}">
487487
<ListBoxMenu
488488
aria-label="{ariaLabel}"
489489
id="{id}"
@@ -533,7 +533,7 @@
533533
</ListBoxMenuItem>
534534
{/each}
535535
</ListBoxMenu>
536-
{/if}
536+
</div>
537537
</ListBox>
538538
{#if !inline && !invalid && !warn && helperText}
539539
<div

types/MultiSelect/MultiSelect.svelte.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,14 @@ export interface MultiSelectProps extends RestProps {
2727
itemToString?: (item: MultiSelectItem) => any;
2828

2929
/**
30-
* Override the item name, title, labelText passed to the checkbox input
30+
* Override the item name, title, labelText, or value passed to the user-selectable checkbox input as well as the hidden inputs.
3131
* @default (item) => {}
3232
*/
3333
itemToInput?: (item: MultiSelectItem) => {
3434
name?: string;
3535
labelText?: any;
3636
title?: string;
37+
value?: string;
3738
};
3839

3940
/**

0 commit comments

Comments
 (0)