vueless 0.0.154 → 0.0.156

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.
Files changed (68) hide show
  1. package/package.json +1 -1
  2. package/ui.button/Docs.mdx +1 -1
  3. package/ui.button-link/Docs.mdx +1 -1
  4. package/ui.button-toggle/Docs.mdx +1 -1
  5. package/ui.button-toggle-item/Docs.mdx +1 -1
  6. package/ui.container-accordion/Docs.mdx +1 -1
  7. package/ui.container-card/Docs.mdx +1 -1
  8. package/ui.container-divider/Docs.mdx +1 -1
  9. package/ui.container-group/Docs.mdx +1 -1
  10. package/ui.container-groups/Docs.mdx +1 -1
  11. package/ui.container-modal/Docs.mdx +1 -1
  12. package/ui.container-modal-confirm/Docs.mdx +1 -1
  13. package/ui.container-page/Docs.mdx +1 -1
  14. package/ui.container-row/Docs.mdx +1 -1
  15. package/ui.data-list/Docs.mdx +25 -1
  16. package/ui.data-list/composables/attrs.composable.js +7 -7
  17. package/ui.data-list/configs/default.config.js +6 -4
  18. package/ui.data-list/constants/index.js +1 -1
  19. package/ui.data-list/index.stories.js +38 -17
  20. package/ui.data-list/index.vue +38 -29
  21. package/ui.data-table/Docs.mdx +1 -1
  22. package/ui.dropdown-badge/Docs.mdx +1 -1
  23. package/ui.dropdown-button/Docs.mdx +1 -1
  24. package/ui.dropdown-item/Docs.mdx +1 -1
  25. package/ui.dropdown-link/Docs.mdx +1 -1
  26. package/ui.dropdown-list/Docs.mdx +1 -1
  27. package/ui.form-calendar/Docs.mdx +1 -1
  28. package/ui.form-checkbox/Docs.mdx +1 -1
  29. package/ui.form-checkbox-group/Docs.mdx +1 -1
  30. package/ui.form-checkbox-multi-state/Docs.mdx +1 -1
  31. package/ui.form-color-picker/Docs.mdx +1 -1
  32. package/ui.form-date-picker/Docs.mdx +1 -1
  33. package/ui.form-date-picker-range/Docs.mdx +1 -1
  34. package/ui.form-input/Docs.mdx +1 -1
  35. package/ui.form-input-file/Docs.mdx +1 -1
  36. package/ui.form-input-money/Docs.mdx +1 -1
  37. package/ui.form-input-number/Docs.mdx +1 -1
  38. package/ui.form-input-rating/Docs.mdx +1 -1
  39. package/ui.form-input-search/Docs.mdx +1 -1
  40. package/ui.form-label/Docs.mdx +1 -1
  41. package/ui.form-radio/Docs.mdx +1 -1
  42. package/ui.form-radio-card/Docs.mdx +1 -1
  43. package/ui.form-radio-group/Docs.mdx +1 -1
  44. package/ui.form-select/Docs.mdx +1 -1
  45. package/ui.form-switch/Docs.mdx +1 -1
  46. package/ui.form-textarea/Docs.mdx +1 -1
  47. package/ui.image-avatar/Docs.mdx +1 -1
  48. package/ui.image-icon/Docs.mdx +1 -1
  49. package/ui.image-logo/Docs.mdx +1 -1
  50. package/ui.loader/Docs.mdx +1 -1
  51. package/ui.loader-rendering/Docs.mdx +3 -0
  52. package/ui.loader-top/Docs.mdx +5 -5
  53. package/ui.navigation-pagination/Docs.mdx +1 -1
  54. package/ui.navigation-progress/Docs.mdx +1 -1
  55. package/ui.navigation-stepper/Docs.mdx +1 -1
  56. package/ui.navigation-tab/Docs.mdx +1 -1
  57. package/ui.navigation-tabs/Docs.mdx +1 -1
  58. package/ui.other-dot/Docs.mdx +1 -1
  59. package/ui.text-alert/Docs.mdx +1 -1
  60. package/ui.text-badge/Docs.mdx +1 -1
  61. package/ui.text-block/Docs.mdx +1 -1
  62. package/ui.text-empty/Docs.mdx +1 -1
  63. package/ui.text-file/Docs.mdx +1 -1
  64. package/ui.text-files/Docs.mdx +1 -1
  65. package/ui.text-header/Docs.mdx +1 -1
  66. package/ui.text-money/Docs.mdx +1 -1
  67. package/ui.text-notify/Docs.mdx +1 -1
  68. package/web-types.json +19 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.154",
3
+ "version": "0.0.156",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless Component Framework.",
6
6
  "homepage": "https://vueless.com",
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,29 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Configuring items in a list
16
+ You can configure any item in a list by passing the following params.
17
+
18
+ <Source code={`
19
+ <UDataList :list="list" />
20
+
21
+ const list = [
22
+ {
23
+ id: 1, // unique item identifier
24
+ label: "Rent", // item label
25
+ children: [ // nested items
26
+ { label: "Office", id: 11 },
27
+ { label: "Shops", id: 12, children: [...] }, // children of subitems
28
+ ],
29
+ isHiddenEdit: true, // hide edit button
30
+ isHiddenDelete: true, // hide delete button
31
+ isHiddenActions: true, // hide default and custom action buttons
32
+ isHiddenCustomActions: true, // hide only custom action buttons
33
+ isDisabledNesting: true, // disable nesting for the item
34
+ }
35
+ {...}
36
+ ];
37
+ `} language="jsx" dark />
38
+
39
+ ## Default config
16
40
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -5,7 +5,7 @@ import { cx } from "../../service.ui";
5
5
 
6
6
  export function useAttrs(props) {
7
7
  const { config, getAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
8
- const { titleCrossed } = config.value;
8
+ const { labelCrossed } = config.value;
9
9
 
10
10
  const wrapperAttrs = getAttrs("wrapper");
11
11
  const dividerAttrs = getAttrs("divider", { isComponent: true });
@@ -19,15 +19,16 @@ export function useAttrs(props) {
19
19
  const dragIconAttrs = getAttrs("dragIcon", { isComponent: true });
20
20
  const nestedAttrs = getAttrs("nested", { isComponent: true });
21
21
 
22
- const titleRaw = getAttrs("title");
22
+ const labelAttrsRaw = getAttrs("label");
23
23
 
24
- const titleAttrs = computed(() => (isActive) => ({
25
- ...titleRaw,
26
- class: cx([titleRaw.value.class, isActive !== undefined && !isActive ? titleCrossed : ""]),
24
+ const labelAttrs = computed(() => (isActive) => ({
25
+ ...labelAttrsRaw,
26
+ class: cx([labelAttrsRaw.value.class, isActive !== undefined && !isActive ? labelCrossed : ""]),
27
27
  }));
28
28
 
29
29
  return {
30
30
  config,
31
+ hasSlotContent,
31
32
  wrapperAttrs,
32
33
  dividerAttrs,
33
34
  emptyAttrs,
@@ -35,9 +36,8 @@ export function useAttrs(props) {
35
36
  nestedAttrs,
36
37
  itemWrapperAttrs,
37
38
  itemAttrs,
38
- titleAttrs,
39
+ labelAttrs,
39
40
  customActionsAttrs,
40
- hasSlotContent,
41
41
  deleteIconAttrs,
42
42
  editIconAttrs,
43
43
  dragIconAttrs,
@@ -12,8 +12,8 @@ export default /*tw*/ {
12
12
  `,
13
13
  dragIcon: "icon-drag cursor-move opacity-100 fill-gray-400 md:fill-gray-500",
14
14
  dragIconName: "drag_indicator",
15
- title: "text-base font-normal text-gray-900 flex-auto pt-px",
16
- titleCrossed: "line-through",
15
+ label: "text-base font-normal text-gray-900 flex-auto pt-px",
16
+ labelCrossed: "line-through",
17
17
  customActions: `
18
18
  space-x-5 opacity-50 md:flex md:items-center md:opacity-0
19
19
  group-hover/item:md:block group-hover/item:opacity-100
@@ -24,13 +24,15 @@ export default /*tw*/ {
24
24
  editIconName: "edit_note",
25
25
  nested: "group/nested ml-6",
26
26
  i18n: {
27
- delete: "Delete",
28
27
  edit: "Edit",
28
+ delete: "Delete",
29
+ emptyTitle: "",
30
+ emptyDescription: "There is no data in the list.",
29
31
  },
30
32
  defaultVariants: {
31
33
  animationDuration: 200,
34
+ labelKey: "label",
32
35
  nesting: false,
33
36
  upperlined: false,
34
- hideEmptyStateForNesting: false,
35
37
  },
36
38
  };
@@ -2,4 +2,4 @@
2
2
  This const is needed to prevent the issue in script setup:
3
3
  `defineProps` is referencing locally declared variables. (vue/valid-define-props)
4
4
  */
5
- export const UDataListName = "UDataList";
5
+ export const UDataList = "UDataList";
@@ -2,6 +2,7 @@ import { getArgTypes, getSlotNames } from "../service.storybook";
2
2
 
3
3
  import UDataList from "../ui.data-list";
4
4
  import UIcon from "../ui.image-icon";
5
+ import URow from "../ui.container-row";
5
6
 
6
7
  /**
7
8
  * The `UDataList` component. | [View on GitHub](https://github.com/vuelessjs/vueless/tree/main/src/ui.data-list)
@@ -13,24 +14,24 @@ export default {
13
14
  args: {
14
15
  list: [
15
16
  {
16
- name: "name 1",
17
+ label: "Salary",
17
18
  id: 1,
18
19
  children: [
19
- { name: "name 1.1", id: 1.1 },
20
- { name: "name 1.2", id: 1.2 },
21
- { name: "name 1.3", id: 1.3 },
20
+ { label: "IT", id: 1.1 },
21
+ { label: "HR", id: 1.2 },
22
+ { label: "C Level", id: 1.3 },
22
23
  ],
23
24
  },
24
25
  {
25
- name: "name 2",
26
+ label: "Rent",
26
27
  id: 2,
27
28
  children: [
28
- { name: "name 2.1", id: 2.1 },
29
- { name: "name 2.2", id: 2.2 },
29
+ { label: "Office", id: 2.1 },
30
+ { label: "Shops", id: 2.2 },
30
31
  ],
31
32
  },
32
33
  {
33
- name: "name 3",
34
+ label: "Marketing",
34
35
  id: 3,
35
36
  },
36
37
  ],
@@ -48,7 +49,11 @@ const DefaultTemplate = (args) => ({
48
49
  return { args, slots };
49
50
  },
50
51
  template: `
51
- <UDataList v-bind="args" @dragSort="onDragSort"/>
52
+ <UDataList v-bind="args" @dragSort="onDragSort">
53
+ <template v-for="(slot, index) of slots" :key="index" v-slot:[slot]>
54
+ <template v-if="args[slot]">{{ args[slot] }}</template>
55
+ </template>
56
+ </UDataList>
52
57
  `,
53
58
  methods: {
54
59
  onDragSort(value) {
@@ -58,7 +63,7 @@ const DefaultTemplate = (args) => ({
58
63
  });
59
64
 
60
65
  const SlotTemplate = (args) => ({
61
- components: { UDataList, UIcon },
66
+ components: { UDataList, UIcon, URow },
62
67
  setup() {
63
68
  return { args };
64
69
  },
@@ -77,17 +82,33 @@ const SlotTemplate = (args) => ({
77
82
  export const Default = DefaultTemplate.bind({});
78
83
  Default.args = {};
79
84
 
85
+ export const emptyState = DefaultTemplate.bind({});
86
+ emptyState.args = {
87
+ list: [],
88
+ emptyTitle: "The list is empty.",
89
+ emptyDescription: "There is no data in the list.",
90
+ };
91
+
80
92
  export const nesting = DefaultTemplate.bind({});
81
93
  nesting.args = { nesting: true };
82
94
 
83
- export const slotIcons = SlotTemplate.bind({});
84
- slotIcons.args = {
95
+ export const slotLabel = SlotTemplate.bind({});
96
+ slotLabel.args = {
97
+ slotTemplate: `
98
+ <template #label="{ item }">
99
+ <URow gap="xs" align="center">
100
+ {{ item.label }}
101
+ <UIcon name="check" color="green" size="sm" />
102
+ </URow>
103
+ </template>
104
+ `,
105
+ };
106
+
107
+ export const slotActions = SlotTemplate.bind({});
108
+ slotActions.args = {
85
109
  slotTemplate: `
86
- <template #icons>
87
- <UIcon
88
- name="star"
89
- color="red"
90
- />
110
+ <template #actions>
111
+ <UIcon interactive name="star" color="red" />
91
112
  </template>
92
113
  `,
93
114
  };
@@ -4,8 +4,8 @@
4
4
 
5
5
  <UEmpty
6
6
  v-if="!hideEmptyStateForNesting && !list?.length"
7
- :description="emptyDescription"
8
- :title="emptyTitle"
7
+ :title="emptyTitle || currentLocale.emptyTitle"
8
+ :description="emptyDescription || currentLocale.emptyDescription"
9
9
  v-bind="emptyAttrs"
10
10
  />
11
11
 
@@ -27,19 +27,20 @@
27
27
  <div :data-cy="`${dataCy}-item-${element.id}`" v-bind="itemAttrs">
28
28
  <UIcon internal :name="config.dragIconName" color="gray" v-bind="dragIconAttrs" />
29
29
 
30
- <div v-bind="titleAttrs(element.isActive)">
31
- <slot :item="element">
32
- {{ element.name }}
30
+ <div v-bind="labelAttrs(element.isActive)">
31
+ <!-- @slot Use it to modify label. -->
32
+ <slot name="label" :item="element">
33
+ {{ element[labelKey] }}
33
34
  </slot>
34
35
  </div>
35
36
 
36
- <template v-if="!element.isHiddenAction">
37
+ <template v-if="!element.isHiddenActions">
37
38
  <div
38
- v-if="hasSlotContent($slots['icons']) && !element.isHiddenCustomActions"
39
+ v-if="hasSlotContent($slots['actions']) && !element.isHiddenCustomActions"
39
40
  v-bind="customActionsAttrs"
40
41
  >
41
- <!-- @slot Use it to add icons. -->
42
- <slot name="icons" :item="element" />
42
+ <!-- @slot Use it to add custom actions. -->
43
+ <slot name="actions" :item="element" />
43
44
  </div>
44
45
 
45
46
  <UIcon
@@ -51,7 +52,7 @@
51
52
  :data-cy="`${dataCy}-delete`"
52
53
  :tooltip="currentLocale.delete"
53
54
  v-bind="deleteIconAttrs"
54
- @click="onClickDelete(element.id, element.name)"
55
+ @click="onClickDelete(element.id, element[labelKey])"
55
56
  />
56
57
 
57
58
  <UIcon
@@ -63,7 +64,7 @@
63
64
  :data-cy="`${dataCy}-edit`"
64
65
  :tooltip="currentLocale.edit"
65
66
  v-bind="editIconAttrs"
66
- @click="onClickEdit(element.id)"
67
+ @click="onClickEdit(element.id, element[labelKey])"
67
68
  />
68
69
  </template>
69
70
  </div>
@@ -80,15 +81,15 @@
80
81
  @click-edit="onClickEdit"
81
82
  @drag-sort="onDragEnd"
82
83
  >
83
- <template #default="{ item }">
84
- <slot :item="item">
85
- <div v-bind="titleAttrs" v-text="item.name" />
84
+ <template #label="{ item }">
85
+ <slot name="label" :item="item">
86
+ <div v-bind="labelAttrs" v-text="item[labelKey]" />
86
87
  </slot>
87
88
  </template>
88
89
 
89
- <template #icons="{ item }">
90
- <!-- @slot Use it to add icons. -->
91
- <slot name="icons" :item="item" />
90
+ <template #actions="{ item }">
91
+ <!-- @slot Use it to add custom actions. -->
92
+ <slot name="actions" :item="item" />
92
93
  </template>
93
94
  </UDataList>
94
95
  </div>
@@ -107,7 +108,7 @@ import UEmpty from "../ui.text-empty";
107
108
  import UDivider from "../ui.container-divider";
108
109
  import UIService from "../service.ui";
109
110
 
110
- import { UDataListName } from "./constants";
111
+ import { UDataList as UDataListName } from "./constants";
111
112
  import defaultConfig from "./configs/default.config";
112
113
  import { useAttrs } from "./composables/attrs.composable";
113
114
  import { useLocale } from "../composable.locale";
@@ -133,11 +134,11 @@ const props = defineProps({
133
134
  },
134
135
 
135
136
  /**
136
- * Enables nesting.
137
+ * Label key in the item object of options.
137
138
  */
138
- nesting: {
139
- type: Boolean,
140
- default: UIService.get(defaultConfig, UDataListName).default.nesting,
139
+ labelKey: {
140
+ type: String,
141
+ default: UIService.get(defaultConfig, UDataListName).default.labelKey,
141
142
  },
142
143
 
143
144
  /**
@@ -164,6 +165,14 @@ const props = defineProps({
164
165
  default: UIService.get(defaultConfig, UDataListName).default.animationDuration,
165
166
  },
166
167
 
168
+ /**
169
+ * Enables nesting.
170
+ */
171
+ nesting: {
172
+ type: Boolean,
173
+ default: UIService.get(defaultConfig, UDataListName).default.nesting,
174
+ },
175
+
167
176
  /**
168
177
  * Add line divider above the list.
169
178
  */
@@ -173,12 +182,12 @@ const props = defineProps({
173
182
  },
174
183
 
175
184
  /**
185
+ * Disable empty state for nested elements if empty (internal props).
176
186
  * @ignore
177
- * Disable empty state for nested elements if empty (internal prorps).
178
187
  */
179
188
  hideEmptyStateForNesting: {
180
189
  type: Boolean,
181
- default: UIService.get(defaultConfig, UDataListName).default.hideEmptyStateForNesting,
190
+ default: false,
182
191
  },
183
192
 
184
193
  /**
@@ -209,7 +218,7 @@ const {
209
218
  nestedAttrs,
210
219
  itemWrapperAttrs,
211
220
  itemAttrs,
212
- titleAttrs,
221
+ labelAttrs,
213
222
  customActionsAttrs,
214
223
  deleteIconAttrs,
215
224
  editIconAttrs,
@@ -236,12 +245,12 @@ function onDragEnd() {
236
245
  emit("dragSort", sortData);
237
246
  }
238
247
 
239
- function onClickEdit(id) {
240
- emit("clickEdit", id);
248
+ function onClickEdit(id, label) {
249
+ emit("clickEdit", id, label);
241
250
  }
242
251
 
243
- function onClickDelete(id, title) {
244
- emit("clickDelete", id, title);
252
+ function onClickDelete(id, label) {
253
+ emit("clickDelete", id, label);
245
254
  }
246
255
 
247
256
  function prepareSortData(list, parentId) {
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,7 +12,7 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
17
17
 
18
18
  ## Formatting tokens
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,7 +12,7 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
17
17
 
18
18
  ## Formatting tokens
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -41,3 +41,6 @@ loaderRenderingOn();
41
41
  // hide loader
42
42
  loaderRenderingOff();
43
43
  `} language="jsx" dark />
44
+
45
+ ## Default config
46
+ <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,9 +12,6 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
16
- <Source code={getSource(defaultConfig)} language="jsx" dark />
17
-
18
15
  ## Control loader
19
16
  You can control loader state using *useLoaderRendering* composable.
20
17
 
@@ -29,9 +26,12 @@ const {
29
26
  } = useLoaderTop();
30
27
  `} language="jsx" dark />
31
28
 
32
- ## Control outside of component
33
- You can control loader state outside of vue components using following methods.
29
+ ## Control outside a component
30
+ You can control loader state outside vue components using the following methods.
34
31
 
35
32
  <Source code={`
36
33
  import { loaderTopOn, loaderTopOff } from "vueless";
37
34
  `} language="jsx" dark />
35
+
36
+ ## Default config
37
+ <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,5 +12,5 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -12,7 +12,7 @@ import defaultConfig from "./configs/default.config?raw"
12
12
  <Controls of={stories.Default} />
13
13
  <Stories of={stories} />
14
14
 
15
- ## **Default config**
15
+ ## Default config
16
16
  <Source code={getSource(defaultConfig)} language="jsx" dark />
17
17
 
18
18
  ## Triggering notification
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "vue",
3
3
  "name": "vueless",
4
- "version": "0.0.154",
4
+ "version": "0.0.156",
5
5
  "contributions": {
6
6
  "html": {
7
7
  "description-markup": "markdown",
@@ -1402,13 +1402,13 @@
1402
1402
  "default": "\"\""
1403
1403
  },
1404
1404
  {
1405
- "name": "nesting",
1406
- "description": "Enables nesting.",
1405
+ "name": "labelKey",
1406
+ "description": "Label key in the item object of options.",
1407
1407
  "value": {
1408
1408
  "kind": "expression",
1409
- "type": "boolean"
1409
+ "type": "string"
1410
1410
  },
1411
- "default": "false"
1411
+ "default": "label"
1412
1412
  },
1413
1413
  {
1414
1414
  "name": "emptyTitle",
@@ -1437,6 +1437,15 @@
1437
1437
  },
1438
1438
  "default": "200"
1439
1439
  },
1440
+ {
1441
+ "name": "nesting",
1442
+ "description": "Enables nesting.",
1443
+ "value": {
1444
+ "kind": "expression",
1445
+ "type": "boolean"
1446
+ },
1447
+ "default": "false"
1448
+ },
1440
1449
  {
1441
1450
  "name": "upperlined",
1442
1451
  "description": "Add line divider above the list.",
@@ -1448,7 +1457,7 @@
1448
1457
  },
1449
1458
  {
1450
1459
  "name": "hideEmptyStateForNesting",
1451
- "description": "@ignore: Disable empty state for nested elements if empty (internal prorps).",
1460
+ "description": "@ignore: Disable empty state for nested elements if empty (internal props).",
1452
1461
  "value": {
1453
1462
  "kind": "expression",
1454
1463
  "type": "boolean"
@@ -1487,11 +1496,12 @@
1487
1496
  ],
1488
1497
  "slots": [
1489
1498
  {
1490
- "name": "default"
1499
+ "name": "label",
1500
+ "description": "Use it to modify label."
1491
1501
  },
1492
1502
  {
1493
- "name": "icons",
1494
- "description": "Use it to add icons."
1503
+ "name": "actions",
1504
+ "description": "Use it to add custom actions."
1495
1505
  }
1496
1506
  ],
1497
1507
  "source": {