Skip to content

Latest commit

 

History

History
617 lines (394 loc) · 39.6 KB

changelog.md

File metadata and controls

617 lines (394 loc) · 39.6 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

8 April 2024

  • MultiSelect fix form validation not resetting when required prop changes #286
  • Update readme.md #283
  • Housekeeping #282
  • Improve docs around Events #280
  • Add props style, inputStyle, liOptionStyle, liSelectedStyle, ulSelectedStyle, ulOptionsStyle #279
  • Add props liUserMsgClass and liUserMsgActiveClass #274
  • link check treat 403 http status as alive, update deps 1b04c15

21 September 2023

  • Breaking: rename focusInputOnSelect to closeDropdownOnSelect #267
  • Fix empty event.detail.options payload on removeAll #266
  • update deps 58cee43

18 July 2023

  • Always show createOptionMsg if allowUserOptions is truthy and user entered text #254
  • Add key style to ObjectOption for per-option inline CSS #252
  • Make selected and value each reactive to each other #250
  • [pre-commit.ci] pre-commit autoupdate #246

1 July 2023

  • v10.0.0 #245
  • Add Multiselect prop maxOptions: number #243
  • Add <slot name="user-msg"> #240
  • Rename prop duplicateFunc() to key() #238
  • declare types #236
  • add <slot name="after-input"> 0fe8e8d
  • add sentence on inputmode='none' use case for hiding on-screen keyboards to readme 466f0a1

1 June 2023

  • Revert "Fix Svelte 3.57 a11y (#215)" #232
  • Add default slot #231
  • CmdPalette add prop close_keys 099e1ac
  • add copy buttons to all code fences 950dcf6

15 May 2023

  • Remove circular import between MultiSelect and index.ts #230
  • Automatically add "bug" label to bug report issues #229
  • Allow createOptionMsg=null to suppress console error when allowUserOptions thruthy #227
  • Fix MultiSelect unable to deselect object options #226
  • Update pnpm instructions #224

30 April 2023

  • Fix svelte-check errors #223
  • fix: hide dropdown when custom messages are empty #220
  • DRY workflows #218
  • fix: allow object options to share the same label #217
  • delete wait_for_animation_end() and fix tests to use playwright auto-waiting correctly 2493029
  • don't highlight noMatchingOptionsMsg <span> in sms-search-matches a1feca7

19 March 2023

  • Fix Svelte 3.57 a11y #215
  • Add prop highlightMatches to MultiSelect #212
  • fix: add missing role attr for <li> #211
  • update deps, set TS moduleResolution=bundler a12835e

9 March 2023

  • Fix Lighthouse a11y issues #210
  • clear selected and searchText first, then trigger removeAll and change events in remove_all() #208
  • add props style, span_style, open, dialog, input, placeholder to CmdPalette + pipe through all other props to MultiSelect 97e6815
  • fix /css-classes example not applying styles from external classes aa1e28e

1 March 2023

  • Make first matching option active automatically on entering searchText #206
  • add src/lib/NavPalette.svelte invoked with cmd+k for keyboard-only site navigation e3f4ea9
  • rename NavPalette to CmdPalette and make it execute generic actions on item select b27cd80
  • update to svelte-package v2 8d3df3e
  • fix selected options having cursor: grab (to indicate drag and drop support to change order) even if only single option selected 3309e1e

25 January 2023

  • Don't error on removing options that are in selected but not in options array #204
  • Add class 'remove' to buttons that remove selected options #202
  • Add prop allowEmpty: boolean = false #198
  • Support immutable Svelte compiler option #197
  • group demo routes e813e48
  • breaking: rename addOptionMsg to createOptionMsg f24e025

8 January 2023

  • Coverage badges #190
  • feat: add type inference for the options prop #189
  • feat: add type inference for the options prop (#189) #78
  • merge ExampleCode.svelte with CollapsibleCode.svelte 56ff99b
  • pnpm add -D svelte-zoo to outsource some site components and icons f2a387c
  • restore reactive searchText block in loading example 846da66
  • fix bunch of TS errors, add playwright test for dragging selected options to reorder a483217
  • add update-coverage package.json script 1094f08
  • add vite alias $root to clean up package.json, readme|contributing|changelog.md imports c19cbe4
  • mv src/components src/site 3683ed7

28 December 2022

  • add 'Open in StackBlitz' links to example code fences ac07557

18 December 2022

  • Issue console warning if sortSelected && selectedOptionsDraggable #187
  • Add new slot named 'expand-icon' #186

10 December 2022

  • Fix allowUserOptions preventing dropdown list navigation with up/down arrow keys #184
  • Mdsvexamples #182
  • Add changelog & contributing pages to site #181
  • tweak contributing.md and css-classes example 6f78033
  • fix build error b896d36
  • fix readme badge for gh-pages.yml status 906b560

30 November 2022

  • Add changelog.md #180
  • Draggable selected options #178
  • Set &lt;base href="/svelte-multiselect" /&gt; if !dev && !prerendering #172
  • Publish docs to GitHub pages #170
  • Contributing docs plus issue and PR templates with StackBlitz repro starter #169
  • add missing about field to bug-report issue template (closes #171) #171
  • fix prop form_input: set default value null to make it optional b150fe0

18 November 2022

  • Add minSelect prop #166
  • Add pnpm test to readme #168
  • Add class for maxSelectMsg #167
  • Allow required=1 | 2 | ... to set minimum number of selected options for form submission #161
  • Add minSelect prop (#166) #163 #163 #163
  • mv /max-select example to /min-max-select 9838db8

15 November 2022

  • Form validation docs #159
  • Don't console.error about missing options if disabled=true #158

15 November 2022

  • Test uncovered lines #157
  • Don't console.error about missing options if loading=true #156
  • Measure vitest coverage with c8 #155
  • increase --sms-min-height 19->22pt 5d0e081

7 November 2022

  • Pass JSON.stringified selected options to form submission handlers #152
  • Link check CI and readme housekeeping #149
  • REPL links for landing page examples #148
  • Add Collapsible code blocks to usage examples #143
  • REPL links for landing page examples (#148) #144 #145 #146 #147

30 October 2022

  • Revert SCSS preprocessing #141
  • Add unit tests for 2-/1-way binding of activeIndex and activeOption #139

22 October 2022

  • Add new prop value #138
  • New prop resetFilterOnAdd #137
  • yarn to pnpm #134
  • Rename prop noOptionsMsg->noMatchingOptionsMsg #133
  • remove props selectedLabels and selectedValues ef6598e

13 October 2022

  • Allow preventing duplicate options when allowUserOptions is thruthy #132

8 October 2022

  • Fix TypeError: Cannot read properties of null (reading 'get_label') - take 2 #131
  • Fix selecting options with falsy labels (like 0) #130

6 October 2022

  • Fix single select with arrow and enter keys #128
  • Add SCSS preprocessing #126
  • [pre-commit.ci] pre-commit autoupdate #124
  • more unit tests 1adbc99
  • test required but empty MultiSelect fails form validity check (i.e. causes unsubmittable form) and filled one passes it fd8b377

3 October 2022

  • Make selected a single value (not a length-1 array) if maxSelect=1 #123
  • Fix TypeError: Cannot read properties of null (reading 'get_label') at MultiSelect.svelte:75 #122
  • add stopPropagation to keydown handler (closes #114) #114

30 September 2022

  • Forward input DOM events #120
  • Props to manipulating inputmode and pattern attributes #116
  • docs: remove userInputAs prop reference #115
  • Fix top option not selectable with enter key #113

20 September 2022

  • Fix using arrow keys to control active option in dropdown list #111
  • eslintrc set @typescript-eslint/no-inferrable-types: off c688773

17 September 2022

  • Test readme docs on CSS variables #109
  • Fix selected array not being initialized to options with preselected=true #108

13 September 2022

  • Better props docs and test #105
  • fix breaking change sveltekit:prefetch renamed to data-sveltekit-prefetch 65ddbb9
  • fix .svx demo routes fde53f1
  • revert from adapter-netlify to adapter-static 224144d

3 September 2022

  • Better on mobile and better about which option is active #103
  • SvelteKit routes auto migration #101

2 August 2022

  • Fix 'Cannot find module scroll-into-view-if-needed' #99

2 August 2022

  • Add scroll-into-view-if-needed ponyfill #97

17 July 2022

  • Convert E2E tests fromvitest to @playwright/test #95
  • Allow empty Multiselect #94
  • Add new slot 'remove-icon' #93
  • [pre-commit.ci] pre-commit autoupdate #92

1 July 2022

  • Reset activeOption to null if not in matchingOptions #90

27 June 2022

  • Replace li.scrollIntoViewIfNeeded() with li.scrollIntoView() #88
  • Add new prop parseLabelsAsHtml #84
  • try fix flaky test 'multiselect > can select and remove many options' 2b0c453
  • bump netlify node to v18, update readme + deps 586c724
  • remove plausible.js analytics cd4c9f6

23 April 2022

  • Strongly typed custom events #79

21 April 2022

  • v5 release #76
  • Work with string options as is, don't convert to objects internally #75
  • v5 release (#76) #57

7 April 2022

  • Fix backspace deleting multiple selected options if identical labels #72
  • Several fixes for allowUserOptions #69
  • [pre-commit.ci] pre-commit autoupdate #70

2 April 2022

  • Fix MultiSelect localStorage binding #66

30 March 2022

  • Move examples to new src/routes/demos dir #63
  • make ToC position fixed (closes #64) #64
  • check for undefined (not falsy) value in rawOp processing (fixes #65) #65
  • LanguageSlot change SVG icons src repo to vscode-icons for more coverage 92390e9
  • more preselected slots in Examples.svelte cd0a01a

23 March 2022

  • Add aria-label to hidden .form-control input #62
  • Add aria-label to hidden .form-control input (#62) #58 #35
  • fix dropdown closing when clicking between list items (closes #61) #61
  • svelte.config.js add kit.prerender.default: true, mv src/{global,app}.d.ts 4a84913

13 March 2022

  • Improve a11y #60
  • Convert tests to Playwright #59
  • Convert tests to Playwright (#59) #58
  • add and document prop invalid (closes #47) #47
  • set width (not height) on svg icons and as px (not em) so they don't shrink with fluid typography on mobile screens ba77f93

5 March 2022

  • Rename readonly to disabled #55
  • CSS and UX tweaks #52
  • Readme document test runner config to avoid transpiling errors in downstream testing #54
  • More tests #51
  • Add vitest #50
  • Rename readonly to disabled (#55) #45
  • close options dropdown list on input blur (fixes #53) #53
  • CSS and UX tweaks (#52) #44 #44 #44
  • Readme document test runner config to avoid transpiling errors in downstream testing (#54) #48

21 February 2022

  • Implement allowUserOptions, autoScroll and loading (closes #39) #41
  • define DispatchEvents type used to annotate createEventDispatcher() #32
  • add prop required to prevent form submission if no options selected (closes #42) #42
  • Implement allowUserOptions, autoScroll and loading (closes #39) (#41) #39 #39

20 February 2022

  • by default, only show maxSelectMsg if maxSelect != null and > 1 (closes #37) #37
  • add CSS var --sms-options-shadow defaults to subtle black shadow around dropdown list (0 0 14pt -8pt black) (closes #36) #36
  • add prop liActiveOptionClass = '' (closes #35) #35
  • turn searchText = and showOptions = false into bindable props (closes #33) #33
  • document missing noOptionsMsg prop (closes #34) #34
  • ensure custom class names (outerDivClass, ulOptionsClass) come last (closes #38) #38
  • fix ToC scroll to heading (closes #31) #31
  • only show remove all btn when maxSelect !== 1 (for #37) 64cfd8a

19 February 2022

  • Fixes for focus on click and wiggle on hitting maxSelect #30

16 February 2022

  • Expose filter method #29
  • readme improve docs on css variables and granular control through :global() selectors (closes #27) #27

7 February 2022

  • mv input outside ul.selected for better HTML semantics (closes #26) #26

3 February 2022

  • apply id prop to <input> insted of outer div (closes #25) #25
  • add eslint commit hook + update deps 6ad44b8
  • v.3.2.0 71ff2d1
  • add readme badge to document minimum svelte version (for #24) 7d9fe5a

25 January 2022

  • wiggle the maxSelect msg on hitting selection limit (closes #19) #19
  • readme better docs for CSS variables, rename slots {options,selected}Renderer -> render{options,selected} c8ab724

22 January 2022

  • add selectedRenderer + optionRenderer named slots (closes #21) #21
  • docs site use unmodified readme with slot to insert examples, yarn add svelte-github-corner 1072691
  • readme add note on type exports for TS users, add error page that redirects to index dde76c8

7 January 2022

29 December 2021

  • ensure active option is scrolled into view if needed (closes #15), breaking change: renames tokens to options #15

24 December 2021

  • Convert options from simple strings to objects #16
  • Add local to transition:fly #14
  • add onClickOutside action, used to replace input.on:blur() for hiding options (closes #18) #18
  • update deps fb90f93
  • more keyboard friendliness by showing remove button focus and triggering on space bar or enter key b87d22b
  • add plausible 0557c0f

27 October 2021

  • set <input> width back to 1pt as it's only needed to tab into, focus and blur <MultiSelect> (closes #12) #12
  • update readme 45c7993

21 October 2021

12 October 2021

  • add src/lib/index.ts for package path export '.' (closes #11) #11

12 October 2021

  • add src/lib/index.ts for package path export '.' (closes #11) #11

11 October 2021

  • Add new prop disabledOptions #9
  • add pre-commit hooks dfb6399
  • [pre-commit.ci] pre-commit autoupdate b69425d

3 September 2021

  • fix removeAll button not dispatching remove and change events (closes #7) #7
  • remove @tsconfig/svelte, update deps 9b2c231
  • add type=(add|remove) detail to 'change' event dispatch 8290458

12 August 2021

  • add on:change event and document events in readme (closes #5) #5

12 July 2021

7 July 2021

  • turn hard-coded remove button titles into props c35162b
  • guard against selected being nullish, keep ul.options in the DOM even if showoptions is false to allow selecting in dev tools for styling b9bd576

5 July 2021

  • add css classes as props for use with tailwind (closes #3) #3

23 June 2021

  • fix: don't remove tags if search string is non-empty, open options on clicking selected tags (#2) 5ffed50
  • update svelte-toc to fix deploy d5279dd

22 June 2021

  • convert to svelte-kit package 9db3cfb

21 June 2021

  • fix setting initial value for selected, fix setting class 'selected' in single mode 16d11de

20 June 2021

  • replace prop single with maxSelect to specify any number of selectable options, add class single to div.multiselect if maxSelect===1 (#2) 36e916f
  • add linked headings 2eedf9a

28 May 2021

25 May 2021

  • add GitHubCorner.svelte for link to repo e80a402
  • remove selected tokens with backspace c5d7495
  • add readme badges 992eaa4
  • demo site fix stripping start of readme for docs 107273d
  • add svelte-toc table of contents to demo site 36aa1c5

9 May 2021

  • import readme on demo site instead of duplication c0e4924
  • remove ununsed example.svx 2138caa
  • rename package dir, improve readme 0150378

8 May 2021

  • remove hidden input for storing currently selected as JSON 802a219

v1.0.0

7 May 2021