diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c17c59..b213657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# 0.4.0 +### Features + - New `itemDefaults` prop to create default options for all selectable items can be created. + + - New `createItemDefaults(options: ItemDefaults)` function for default options, this function will wrap `wrapperComponentOrTag` with `markRaw` if component is given. + +### Bug Fixes + - Fixed not wrapping functional components with `markRaw` in `item()` and `itemGroup()`. + +
+ # 0.3.1 ### Bug Fixes - Fixed types of hooks/events. diff --git a/README.md b/README.md index 28de98a..40cd04d 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,9 @@ Let's explain everything step by step. // onMounted, Composables, Keyboard Handling (see examples) and more setup specific stuff. // NOTE: This function will only run once on setup phase. setup?: (context: Context) => void; + + // Default options for all selectable items. + itemDefaults?: ItemDefaults; } ``` @@ -459,6 +462,51 @@ Let's explain everything step by step. } ``` +## Item Defaults +If you want to give default options to all selectable items, you can use `itemDefaults: ItemDefaults` prop. + + +It is recommended to use `createItemDefaults(options?: Partial)` function to create options because if `wrapperComponentOrTag` is component it'll be wrapped by `markRaw` not to slow performance. + +```html + + + +``` ## Context Context is an object of functions, you can access it via `setup` prop and `template ref`. diff --git a/package.json b/package.json index c7f30a5..fd8b5fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-selectable-items", - "version": "0.3.1", + "version": "0.4.0", "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/types/index.d.ts",