@swr-data-lab/components 1.1.0 → 1.2.0

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.
@@ -9,7 +9,7 @@ const preview: Preview = {
9
9
  },
10
10
  },
11
11
  },
12
- tags: ['autodocs'],
12
+ tags: ["autodocs"],
13
13
  };
14
14
 
15
15
  export default preview;
package/package.json CHANGED
@@ -23,15 +23,15 @@
23
23
  "@semantic-release/changelog": "^6.0.3",
24
24
  "@semantic-release/git": "^10.0.1",
25
25
  "@semantic-release/npm": "^12.0.1",
26
- "@storybook/addon-essentials": "^8.3.0",
27
- "@storybook/addon-interactions": "^8.3.0",
28
- "@storybook/addon-links": "^8.3.0",
26
+ "@storybook/addon-essentials": "^8.4.5",
27
+ "@storybook/addon-interactions": "^8.4.5",
28
+ "@storybook/addon-links": "^8.4.5",
29
29
  "@storybook/addon-svelte-csf": "^4.1.7",
30
- "@storybook/blocks": "^8.3.0",
31
- "@storybook/builder-vite": "^8.3.0",
32
- "@storybook/svelte": "^8.3.0",
33
- "@storybook/sveltekit": "^8.3.0",
34
- "@storybook/test": "^8.3.0",
30
+ "@storybook/blocks": "^8.4.5",
31
+ "@storybook/builder-vite": "^8.4.5",
32
+ "@storybook/svelte": "^8.4.5",
33
+ "@storybook/sveltekit": "^8.4.5",
34
+ "@storybook/test": "^8.4.5",
35
35
  "@storybook/test-runner": "^0.19.1",
36
36
  "@sveltejs/adapter-auto": "^3.0.0",
37
37
  "@sveltejs/kit": "^2.0.0",
@@ -40,7 +40,7 @@
40
40
  "http-server": "^14.1.1",
41
41
  "sass-embedded": "^1.78.0",
42
42
  "semantic-release": "^24.1.2",
43
- "storybook": "^8.3.0",
43
+ "storybook": "^8.4.5",
44
44
  "svelte": "^4.2.7",
45
45
  "svelte-check": "^4.0.0",
46
46
  "svelte-select": "^5.8.3",
@@ -61,5 +61,5 @@
61
61
  "svelte": "./src/index.js"
62
62
  }
63
63
  },
64
- "version": "1.1.0"
64
+ "version": "1.2.0"
65
65
  }
@@ -33,6 +33,11 @@
33
33
  type: { name: 'boolean', required: false },
34
34
  defaultValue: 'false'
35
35
  },
36
+ clearable: {
37
+ description: 'Show a button to clear the input',
38
+ type: { name: 'boolean', required: false },
39
+ defaultValue: 'false'
40
+ },
36
41
  value: {
37
42
  description: 'The currently selected option',
38
43
  type: { name: 'any', required: false }
@@ -74,6 +79,7 @@
74
79
  name="Simple"
75
80
  args={{
76
81
  inputId: 'select',
82
+ clearable: true,
77
83
  items: [
78
84
  { value: 'chocolate', label: 'Chocolate' },
79
85
  { value: 'cake', label: 'Cake' },
@@ -99,6 +105,12 @@
99
105
  await userEvent.type(select, 'Ice{enter}');
100
106
  expect(selectedItem).toEqual({ value: 'ice-cream', label: 'Ice Cream' });
101
107
  });
108
+
109
+ await step('Tapping the clear button clears the input', async () => {
110
+ const clearButton = document.querySelector('.clear-select');
111
+ await userEvent.click(clearButton);
112
+ expect(selectedItem).toEqual(undefined);
113
+ });
102
114
  }}
103
115
  />
104
116
 
@@ -43,6 +43,11 @@
43
43
  */
44
44
  export let groupHeaderSelectable: boolean = false;
45
45
 
46
+ /**
47
+ * Enable clearing the input
48
+ */
49
+ export let clearable: boolean = true;
50
+
46
51
  export let value: Option | undefined;
47
52
  </script>
48
53
 
@@ -53,7 +58,7 @@ based on https://github.com/rob-balfre/svelte-select
53
58
  @component
54
59
  -->
55
60
 
56
- <Select {items} {groupBy} id={inputId} {placeholder} {groupHeaderSelectable} bind:value>
61
+ <Select {items} {groupBy} id={inputId} {placeholder} {groupHeaderSelectable} {clearable} bind:value>
57
62
  <svelte:fragment slot="item" let:item>
58
63
  <slot name="item" {item}>
59
64
  {item.label}