@infineon/infineon-design-system-stencil 30.9.1--canary.1663.04cb986ccd7894a97ab77b9bea18e02ca81adbee.0 → 30.9.2--canary.1640.55f6082d40b32de317977a352b37983c1f14902c.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.
Files changed (187) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +2 -2
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-modal.cjs.entry.js +8 -8
  4. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +5 -5
  6. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-search-bar.cjs.entry.js +5 -5
  8. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +9 -9
  10. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  11. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/components/accordion/accordion.stories.js +79 -3
  14. package/dist/collection/components/accordion/accordion.stories.js.map +1 -1
  15. package/dist/collection/components/accordion/accordionItem.js +4 -4
  16. package/dist/collection/components/accordion/accordionItem.js.map +1 -1
  17. package/dist/collection/components/alert/alert.stories.js +45 -12
  18. package/dist/collection/components/alert/alert.stories.js.map +1 -1
  19. package/dist/collection/components/badge/badge.stories.js +28 -7
  20. package/dist/collection/components/badge/badge.stories.js.map +1 -1
  21. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +66 -7
  22. package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -1
  23. package/dist/collection/components/button/button.stories.js +104 -9
  24. package/dist/collection/components/button/button.stories.js.map +1 -1
  25. package/dist/collection/components/card/card.stories.js +85 -2
  26. package/dist/collection/components/card/card.stories.js.map +1 -1
  27. package/dist/collection/components/checkbox/checkbox.stories.js +75 -14
  28. package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -1
  29. package/dist/collection/components/content-switcher/content-switcher.stories.js +65 -3
  30. package/dist/collection/components/content-switcher/content-switcher.stories.js.map +1 -1
  31. package/dist/collection/components/date-picker/date-picker.stories.js +73 -6
  32. package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -1
  33. package/dist/collection/components/dropdown/dropdown.stories.js +161 -64
  34. package/dist/collection/components/dropdown/dropdown.stories.js.map +1 -1
  35. package/dist/collection/components/footer/footer.stories.js +7 -1
  36. package/dist/collection/components/footer/footer.stories.js.map +1 -1
  37. package/dist/collection/components/icon/infineonIconStencil.stories.js +7 -2
  38. package/dist/collection/components/icon/infineonIconStencil.stories.js.map +1 -1
  39. package/dist/collection/components/icon-button/icon-button.stories.js +61 -5
  40. package/dist/collection/components/icon-button/icon-button.stories.js.map +1 -1
  41. package/dist/collection/components/link/link.stories.js +56 -4
  42. package/dist/collection/components/link/link.stories.js.map +1 -1
  43. package/dist/collection/components/modal/modal.js +10 -10
  44. package/dist/collection/components/modal/modal.js.map +1 -1
  45. package/dist/collection/components/modal/modal.stories.js +96 -19
  46. package/dist/collection/components/modal/modal.stories.js.map +1 -1
  47. package/dist/collection/components/navigation/navbar/navbar.stories.js +203 -12
  48. package/dist/collection/components/navigation/navbar/navbar.stories.js.map +1 -1
  49. package/dist/collection/components/navigation/sidebar/sidebar-item.js +11 -11
  50. package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
  51. package/dist/collection/components/navigation/sidebar/sidebar.stories.js +110 -17
  52. package/dist/collection/components/navigation/sidebar/sidebar.stories.js.map +1 -1
  53. package/dist/collection/components/notification/notification.stories.js +51 -4
  54. package/dist/collection/components/notification/notification.stories.js.map +1 -1
  55. package/dist/collection/components/number-indicator/number-indicator.stories.js +19 -0
  56. package/dist/collection/components/number-indicator/number-indicator.stories.js.map +1 -1
  57. package/dist/collection/components/pagination/pagination.stories.js +30 -3
  58. package/dist/collection/components/pagination/pagination.stories.js.map +1 -1
  59. package/dist/collection/components/progress-bar/progress-bar.stories.js +31 -8
  60. package/dist/collection/components/progress-bar/progress-bar.stories.js.map +1 -1
  61. package/dist/collection/components/radio-button/radio-button.stories.js +66 -13
  62. package/dist/collection/components/radio-button/radio-button.stories.js.map +1 -1
  63. package/dist/collection/components/search-bar/search-bar.js +6 -6
  64. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  65. package/dist/collection/components/search-bar/search-bar.stories.js +58 -9
  66. package/dist/collection/components/search-bar/search-bar.stories.js.map +1 -1
  67. package/dist/collection/components/search-field/search-field.stories.js +43 -7
  68. package/dist/collection/components/search-field/search-field.stories.js.map +1 -1
  69. package/dist/collection/components/select/multi-select/multiselect.js +6 -6
  70. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  71. package/dist/collection/components/select/multi-select/multiselect.stories.js +131 -5
  72. package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
  73. package/dist/collection/components/select/single-select/select.stories.js +83 -26
  74. package/dist/collection/components/select/single-select/select.stories.js.map +1 -1
  75. package/dist/collection/components/slider/slider.stories.js +97 -13
  76. package/dist/collection/components/slider/slider.stories.js.map +1 -1
  77. package/dist/collection/components/spinner/spinner.stories.js +34 -2
  78. package/dist/collection/components/spinner/spinner.stories.js.map +1 -1
  79. package/dist/collection/components/status/status.stories.js +24 -1
  80. package/dist/collection/components/status/status.stories.js.map +1 -1
  81. package/dist/collection/components/stepper/stepper.stories.js +33 -16
  82. package/dist/collection/components/stepper/stepper.stories.js.map +1 -1
  83. package/dist/collection/components/switch/switch.stories.js +54 -4
  84. package/dist/collection/components/switch/switch.stories.js.map +1 -1
  85. package/dist/collection/components/table-advanced-version/table.stories.js +71 -11
  86. package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
  87. package/dist/collection/components/table-basic-version/table.stories.js +17 -1
  88. package/dist/collection/components/table-basic-version/table.stories.js.map +1 -1
  89. package/dist/collection/components/tabs/tabs.stories.js +89 -23
  90. package/dist/collection/components/tabs/tabs.stories.js.map +1 -1
  91. package/dist/collection/components/tag/tag.stories.js +18 -0
  92. package/dist/collection/components/tag/tag.stories.js.map +1 -1
  93. package/dist/collection/components/text-field/text-field.stories.js +104 -13
  94. package/dist/collection/components/text-field/text-field.stories.js.map +1 -1
  95. package/dist/collection/components/tooltip/tooltip.stories.js +48 -4
  96. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -1
  97. package/dist/components/ifx-accordion-item.js +1 -1
  98. package/dist/components/ifx-faq.js +1 -1
  99. package/dist/components/ifx-modal.js +8 -8
  100. package/dist/components/ifx-modal.js.map +1 -1
  101. package/dist/components/ifx-multiselect.js +1 -1
  102. package/dist/components/ifx-search-bar.js +5 -5
  103. package/dist/components/ifx-search-bar.js.map +1 -1
  104. package/dist/components/ifx-set-filter.js +1 -1
  105. package/dist/components/ifx-sidebar-item.js +11 -11
  106. package/dist/components/ifx-sidebar-item.js.map +1 -1
  107. package/dist/components/{p-b2439194.js → p-62c6aeb2.js} +4 -4
  108. package/dist/components/{p-b2439194.js.map → p-62c6aeb2.js.map} +1 -1
  109. package/dist/components/{p-04b73e62.js → p-cf8fd0f4.js} +6 -6
  110. package/dist/components/p-cf8fd0f4.js.map +1 -0
  111. package/dist/esm/ifx-accordion_2.entry.js +2 -2
  112. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  113. package/dist/esm/ifx-modal.entry.js +8 -8
  114. package/dist/esm/ifx-modal.entry.js.map +1 -1
  115. package/dist/esm/ifx-multiselect_2.entry.js +5 -5
  116. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  117. package/dist/esm/ifx-search-bar.entry.js +5 -5
  118. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  119. package/dist/esm/ifx-sidebar-item.entry.js +9 -9
  120. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  121. package/dist/esm/infineon-design-system-stencil.js +1 -1
  122. package/dist/esm/loader.js +1 -1
  123. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  124. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  125. package/dist/infineon-design-system-stencil/p-60dcd508.entry.js +2 -0
  126. package/dist/infineon-design-system-stencil/p-60dcd508.entry.js.map +1 -0
  127. package/dist/infineon-design-system-stencil/p-6a274db4.entry.js +2 -0
  128. package/dist/infineon-design-system-stencil/p-6a274db4.entry.js.map +1 -0
  129. package/dist/infineon-design-system-stencil/p-c3e3eda9.entry.js +2 -0
  130. package/dist/infineon-design-system-stencil/p-c3e3eda9.entry.js.map +1 -0
  131. package/dist/infineon-design-system-stencil/{p-bc8a4226.entry.js → p-d93eb561.entry.js} +2 -2
  132. package/dist/infineon-design-system-stencil/p-d93eb561.entry.js.map +1 -0
  133. package/dist/infineon-design-system-stencil/p-dac5d6d5.entry.js +2 -0
  134. package/dist/infineon-design-system-stencil/p-dac5d6d5.entry.js.map +1 -0
  135. package/dist/types/components/accordion/accordion.stories.d.ts +67 -1
  136. package/dist/types/components/accordion/accordionItem.d.ts +1 -1
  137. package/dist/types/components/alert/alert.stories.d.ts +38 -11
  138. package/dist/types/components/badge/badge.stories.d.ts +23 -3
  139. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +66 -1
  140. package/dist/types/components/button/button.stories.d.ts +95 -16
  141. package/dist/types/components/card/card.stories.d.ts +95 -1
  142. package/dist/types/components/checkbox/checkbox.stories.d.ts +68 -10
  143. package/dist/types/components/content-switcher/content-switcher.stories.d.ts +66 -0
  144. package/dist/types/components/date-picker/date-picker.stories.d.ts +67 -2
  145. package/dist/types/components/dropdown/dropdown.stories.d.ts +111 -27
  146. package/dist/types/components/footer/footer.stories.d.ts +4 -0
  147. package/dist/types/components/icon/infineonIconStencil.stories.d.ts +5 -0
  148. package/dist/types/components/icon-button/icon-button.stories.d.ts +56 -8
  149. package/dist/types/components/link/link.stories.d.ts +52 -6
  150. package/dist/types/components/modal/modal.d.ts +2 -2
  151. package/dist/types/components/modal/modal.stories.d.ts +77 -3
  152. package/dist/types/components/navigation/navbar/navbar.stories.d.ts +243 -6
  153. package/dist/types/components/navigation/sidebar/sidebar-item.d.ts +2 -2
  154. package/dist/types/components/navigation/sidebar/sidebar.stories.d.ts +90 -7
  155. package/dist/types/components/notification/notification.stories.d.ts +44 -0
  156. package/dist/types/components/number-indicator/number-indicator.stories.d.ts +19 -0
  157. package/dist/types/components/pagination/pagination.stories.d.ts +27 -0
  158. package/dist/types/components/progress-bar/progress-bar.stories.d.ts +25 -4
  159. package/dist/types/components/radio-button/radio-button.stories.d.ts +59 -8
  160. package/dist/types/components/search-bar/search-bar.d.ts +1 -1
  161. package/dist/types/components/search-bar/search-bar.stories.d.ts +60 -3
  162. package/dist/types/components/search-field/search-field.stories.d.ts +36 -6
  163. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  164. package/dist/types/components/select/multi-select/multiselect.stories.d.ts +125 -0
  165. package/dist/types/components/select/single-select/select.stories.d.ts +67 -24
  166. package/dist/types/components/slider/slider.stories.d.ts +110 -0
  167. package/dist/types/components/spinner/spinner.stories.d.ts +32 -0
  168. package/dist/types/components/status/status.stories.d.ts +23 -2
  169. package/dist/types/components/stepper/stepper.stories.d.ts +21 -4
  170. package/dist/types/components/switch/switch.stories.d.ts +50 -1
  171. package/dist/types/components/table-basic-version/table.stories.d.ts +19 -1
  172. package/dist/types/components/tabs/tabs.stories.d.ts +77 -7
  173. package/dist/types/components/tag/tag.stories.d.ts +20 -0
  174. package/dist/types/components/text-field/text-field.stories.d.ts +96 -11
  175. package/dist/types/components/tooltip/tooltip.stories.d.ts +41 -6
  176. package/dist/types/components.d.ts +10 -10
  177. package/package.json +1 -1
  178. package/dist/components/p-04b73e62.js.map +0 -1
  179. package/dist/infineon-design-system-stencil/p-222c1af9.entry.js +0 -2
  180. package/dist/infineon-design-system-stencil/p-222c1af9.entry.js.map +0 -1
  181. package/dist/infineon-design-system-stencil/p-436babb8.entry.js +0 -2
  182. package/dist/infineon-design-system-stencil/p-436babb8.entry.js.map +0 -1
  183. package/dist/infineon-design-system-stencil/p-9481adc8.entry.js +0 -2
  184. package/dist/infineon-design-system-stencil/p-9481adc8.entry.js.map +0 -1
  185. package/dist/infineon-design-system-stencil/p-bc8a4226.entry.js.map +0 -1
  186. package/dist/infineon-design-system-stencil/p-dc7deb14.entry.js +0 -2
  187. package/dist/infineon-design-system-stencil/p-dc7deb14.entry.js.map +0 -1
@@ -53,7 +53,9 @@ export default {
53
53
  title: 'Components/Select/Multi Select',
54
54
  // tags: ['autodocs'],
55
55
  args: {
56
+ name: 'multiselect',
56
57
  size: 'm',
58
+ disabled: false,
57
59
  batchSize: 10,
58
60
  maxItemCount: 10,
59
61
  showSearch: true,
@@ -65,6 +67,7 @@ export default {
65
67
  },
66
68
  argTypes: {
67
69
  size: {
70
+ description: 'Size of the input field.',
68
71
  options: {
69
72
  'small (36px)': 's',
70
73
  'medium (40px)': 'm',
@@ -72,59 +75,181 @@ export default {
72
75
  control: {
73
76
  type: 'radio',
74
77
  },
78
+ table: {
79
+ category: 'ifx-multiselect props',
80
+ defaultValue: {
81
+ summary: 'medium (40px)',
82
+ },
83
+ type: {
84
+ summary: '36px | 40px',
85
+ },
86
+ },
87
+ },
88
+ disabled: {
89
+ description: 'Disable the input field.',
90
+ options: [true, false],
91
+ control: { type: 'boolean' },
92
+ table: {
93
+ category: 'ifx-multiselect props',
94
+ defaultValue: {
95
+ summary: 'false',
96
+ },
97
+ type: {
98
+ summary: 'boolean',
99
+ },
100
+ },
101
+ },
102
+ name: {
103
+ description: `For a <*form*> element, the name attribute is used as a reference when the data is submitted.`,
104
+ control: 'text',
105
+ table: {
106
+ category: 'ifx-multiselect props',
107
+ type: {
108
+ summary: 'string',
109
+ },
110
+ },
75
111
  },
76
112
  batchSize: {
77
- description: 'Batch size used during lazy loading options',
113
+ description: 'Batch size used during lazy loading options.',
78
114
  control: {
79
115
  type: 'number',
80
116
  },
117
+ table: {
118
+ category: 'ifx-multiselect props',
119
+ defaultValue: {
120
+ summary: '50',
121
+ },
122
+ type: {
123
+ summary: 'number',
124
+ },
125
+ },
81
126
  },
82
127
  maxItemCount: {
83
128
  control: { type: 'number' },
84
- description: 'Number of maximum selectable items',
129
+ description: 'Number of maximum selectable items.',
130
+ table: {
131
+ category: 'ifx-multiselect props',
132
+ type: {
133
+ summary: 'number'
134
+ }
135
+ }
85
136
  },
86
137
  showSearch: {
138
+ description: 'Show a search input.',
87
139
  options: [true, false],
88
140
  control: { type: 'radio' },
141
+ table: {
142
+ category: 'ifx-multiselect props',
143
+ defaultValue: {
144
+ summary: 'true',
145
+ },
146
+ type: {
147
+ summary: 'boolean',
148
+ },
149
+ },
89
150
  },
90
151
  showSelectAll: {
91
- description: 'Show a checkbox to select all options',
152
+ description: 'Show a checkbox to select all options.',
92
153
  options: [true, false],
93
154
  control: { type: 'radio' },
155
+ table: {
156
+ category: 'ifx-multiselect props',
157
+ defaultValue: {
158
+ summary: 'true',
159
+ },
160
+ type: {
161
+ summary: 'boolean',
162
+ },
163
+ },
94
164
  },
95
165
  error: {
166
+ description: 'Show error state.',
96
167
  options: [true, false],
97
168
  control: { type: 'radio' },
169
+ table: {
170
+ category: 'ifx-multiselect props',
171
+ defaultValue: {
172
+ summary: 'false',
173
+ },
174
+ type: {
175
+ summary: 'boolean',
176
+ },
177
+ },
98
178
  },
99
179
  errorMessage: {
100
180
  control: 'text',
181
+ description: 'Error message to display.',
182
+ table: {
183
+ category: 'ifx-multiselect props',
184
+ defaultValue: {
185
+ summary: 'Error',
186
+ },
187
+ type: {
188
+ summary: 'string',
189
+ },
190
+ },
101
191
  },
102
192
  label: {
193
+ description: 'Label over the input field.',
103
194
  control: 'text',
195
+ table: {
196
+ category: 'ifx-multiselect props',
197
+ type: {
198
+ summary: 'string',
199
+ },
200
+ },
104
201
  },
105
202
  placeholder: {
203
+ description: 'Label inside the input field.',
106
204
  control: 'text',
205
+ table: {
206
+ category: 'ifx-multiselect props',
207
+ type: {
208
+ summary: 'string',
209
+ },
210
+ },
107
211
  },
108
212
  options: {
109
- description: 'Takes an array of objects in the following format',
213
+ description: 'Takes an array of objects in the following format.',
214
+ table: {
215
+ category: 'ifx-multiselect props',
216
+ type: {
217
+ summary: 'Details',
218
+ detail: `'Array<{ value: string, label: string, selected: boolean, children?: Array<{ value: string, label: string, selected: boolean }> }>'`,
219
+ },
220
+ },
110
221
  },
111
222
  ifxSelect: {
112
223
  action: 'ifxSelect',
113
- description: 'Custom event emitted when item is selected or unselected',
224
+ description: 'Custom event emitted when item is selected or unselected.',
114
225
  table: {
226
+ category: 'custom events',
115
227
  type: {
116
228
  summary: 'Framework integration',
117
229
  detail: 'React: onIfxSelect={handleInput}\nVue:@ifxSelect="handleInput"\nAngular:(ifxSelect)="handleInput()"\nVanillaJs:.addEventListener("ifxSelect", (event) => {//handle input});',
118
230
  },
119
231
  },
120
232
  },
233
+ ifxOpen: {
234
+ action: 'ifxOpen',
235
+ description: 'Custom event emitted when multiselect is opened.',
236
+ table: {
237
+ category: 'custom events',
238
+ type: {
239
+ summary: 'Framework integration',
240
+ detail: 'React: onIfxOpen={handleChange}\nVue:@ifxOpen="handleChange"\nAngular:(ifxOpen)="handleChange()"\nVanillaJs:.addEventListener("ifxOpen", (event) => {//handle change});',
241
+ },
242
+ },
243
+ }
121
244
  },
122
245
  };
123
246
  const Template = args => {
124
247
  const template = `<ifx-multiselect
248
+ name='${args.name}'
125
249
  options='${JSON.stringify(args.options)}'
126
250
  batch-size='${args.batchSize}'
127
251
  size='${args.size}'
252
+ disabled='${args.disabled}'
128
253
  max-item-count='${args.maxItemCount}'
129
254
  error='${args.error}'
130
255
  error-message='${args.errorMessage}'
@@ -135,6 +260,7 @@ const Template = args => {
135
260
  </ifx-multiselect>`;
136
261
  setTimeout(() => {
137
262
  document.querySelector('ifx-multiselect').addEventListener('ifxSelect', action('ifxSelect'));
263
+ document.querySelector('ifx-multiselect').addEventListener('ifxOpen', action('ifxOpen'));
138
264
  }, 0);
139
265
  return template;
140
266
  };
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect.stories.js","sourceRoot":"","sources":["../../../../src/components/select/multi-select/multiselect.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\n\nconst options = [\n {\n value: 'a',\n label: 'Option a',\n selected: false,\n },\n {\n value: 'b',\n label: 'Option b',\n selected: false,\n },\n {\n value: 'c',\n label: 'Option c',\n selected: false,\n children: [\n {\n value: 'z1',\n label: 'Option c1',\n selected: false,\n },\n {\n value: 'z2',\n label: 'Option c2',\n selected: false,\n },\n ],\n },\n];\n\nconst longOptions = [];\nfor (let i=1; i<=50; i++) {\n let children = undefined;\n if (i % 3 == 0) {\n children = [{\n \"value\": `${i}.1`,\n \"label\": `Option ${i}.1`,\n \"selected\": i % 2 == 0 ? true : false\n },{\n \"value\": `${i}.2`,\n \"label\": `Option ${i}.2`,\n \"selected\": i % 4 == 0 ? true : false\n }];\n }\n longOptions.push({\n \"value\": i,\n \"label\": `Option ${i}`,\n \"selected\": i % 2 == 0 ? true : false,\n \"children\": children\n })\n}\n\n\nexport default {\n title: 'Components/Select/Multi Select',\n // tags: ['autodocs'],\n args: {\n size: 'm',\n batchSize: 10,\n maxItemCount: 10,\n showSearch: true,\n showSelectAll: true,\n error: false,\n errorMessage: 'Some error',\n label: '',\n placeholder: 'Placeholder',\n },\n argTypes: {\n size: {\n options: {\n 'small (36px)': 's',\n 'medium (40px)': 'm',\n },\n control: {\n type: 'radio',\n },\n },\n batchSize: {\n description: 'Batch size used during lazy loading options',\n control: {\n type: 'number',\n },\n },\n maxItemCount: {\n control: { type: 'number' },\n description: 'Number of maximum selectable items',\n },\n showSearch: {\n options: [true, false],\n control: { type: 'radio' },\n },\n showSelectAll: {\n description: 'Show a checkbox to select all options',\n options: [true, false],\n control: { type: 'radio' },\n },\n error: {\n options: [true, false],\n control: { type: 'radio' },\n },\n errorMessage: {\n control: 'text',\n },\n label: {\n control: 'text',\n },\n placeholder: {\n control: 'text',\n },\n options: {\n description: 'Takes an array of objects in the following format',\n },\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected or unselected',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n },\n};\n\nconst Template = args => {\n const template = `<ifx-multiselect \n options='${JSON.stringify(args.options)}' \n batch-size='${args.batchSize}'\n size='${args.size}'\n max-item-count='${args.maxItemCount}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n show-select-all='${args.showSelectAll}'>\n</ifx-multiselect>`;\n\n setTimeout(() => {\n document.querySelector('ifx-multiselect').addEventListener('ifxSelect', action('ifxSelect'));\n }, 0);\n\n return template;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n options: options,\n};\n\nexport const WithLazyLoading = Template.bind({});\nWithLazyLoading.args = {\n options: longOptions,\n batchSize: 5,\n maxItemCount: undefined\n};\n"]}
1
+ {"version":3,"file":"multiselect.stories.js","sourceRoot":"","sources":["../../../../src/components/select/multi-select/multiselect.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\n\nconst options = [\n {\n value: 'a',\n label: 'Option a',\n selected: false,\n },\n {\n value: 'b',\n label: 'Option b',\n selected: false,\n },\n {\n value: 'c',\n label: 'Option c',\n selected: false,\n children: [\n {\n value: 'z1',\n label: 'Option c1',\n selected: false,\n },\n {\n value: 'z2',\n label: 'Option c2',\n selected: false,\n },\n ],\n },\n];\n\nconst longOptions = [];\nfor (let i = 1; i <= 50; i++) {\n let children = undefined;\n if (i % 3 == 0) {\n children = [{\n \"value\": `${i}.1`,\n \"label\": `Option ${i}.1`,\n \"selected\": i % 2 == 0 ? true : false\n }, {\n \"value\": `${i}.2`,\n \"label\": `Option ${i}.2`,\n \"selected\": i % 4 == 0 ? true : false\n }];\n }\n longOptions.push({\n \"value\": i,\n \"label\": `Option ${i}`,\n \"selected\": i % 2 == 0 ? true : false,\n \"children\": children\n })\n}\n\nexport default {\n title: 'Components/Select/Multi Select',\n // tags: ['autodocs'],\n args: {\n name: 'multiselect',\n size: 'm',\n disabled: false,\n batchSize: 10,\n maxItemCount: 10,\n showSearch: true,\n showSelectAll: true,\n error: false,\n errorMessage: 'Some error',\n label: '',\n placeholder: 'Placeholder',\n },\n argTypes: {\n size: {\n description: 'Size of the input field.',\n options: {\n 'small (36px)': 's',\n 'medium (40px)': 'm',\n },\n control: {\n type: 'radio',\n },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'medium (40px)',\n },\n type: {\n summary: '36px | 40px',\n },\n },\n },\n disabled: {\n description: 'Disable the input field.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n name: {\n description: `For a <*form*> element, the name attribute is used as a reference when the data is submitted.`,\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n batchSize: {\n description: 'Batch size used during lazy loading options.',\n control: {\n type: 'number',\n },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: '50',\n },\n type: {\n summary: 'number',\n },\n },\n },\n maxItemCount: {\n control: { type: 'number' },\n description: 'Number of maximum selectable items.',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'number'\n }\n }\n },\n showSearch: {\n description: 'Show a search input.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showSelectAll: {\n description: 'Show a checkbox to select all options.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n error: {\n description: 'Show error state.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n errorMessage: {\n control: 'text',\n description: 'Error message to display.',\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'Error',\n },\n type: {\n summary: 'string',\n },\n },\n },\n label: {\n description: 'Label over the input field.',\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n placeholder: {\n description: 'Label inside the input field.',\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n options: {\n description: 'Takes an array of objects in the following format.',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'Details',\n detail: `'Array<{ value: string, label: string, selected: boolean, children?: Array<{ value: string, label: string, selected: boolean }> }>'`,\n },\n },\n },\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected or unselected.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when multiselect is opened.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n\n }\n },\n};\n\nconst Template = args => {\n const template = `<ifx-multiselect \n name='${args.name}'\n options='${JSON.stringify(args.options)}' \n batch-size='${args.batchSize}'\n size='${args.size}'\n disabled='${args.disabled}'\n max-item-count='${args.maxItemCount}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n show-select-all='${args.showSelectAll}'>\n</ifx-multiselect>`;\n\n setTimeout(() => {\n document.querySelector('ifx-multiselect').addEventListener('ifxSelect', action('ifxSelect'));\n document.querySelector('ifx-multiselect').addEventListener('ifxOpen', action('ifxOpen'));\n }, 0);\n\n return template;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n options: options,\n};\n\nexport const WithLazyLoading = Template.bind({});\nWithLazyLoading.args = {\n options: longOptions,\n batchSize: 5,\n maxItemCount: undefined\n};\n"]}
@@ -22,6 +22,7 @@ export default {
22
22
  title: 'Components/Select/Single Select',
23
23
  // tags: ['autodocs'],
24
24
  args: {
25
+ label: '',
25
26
  size: 'm',
26
27
  showSearch: true,
27
28
  searchPlaceholderValue: 'Search...',
@@ -29,7 +30,6 @@ export default {
29
30
  placeholderValue: 'Placeholder',
30
31
  error: false,
31
32
  errorMessage: 'Some error',
32
- label: '',
33
33
  disabled: false,
34
34
  // type: 'single', //for later implementation
35
35
  },
@@ -39,51 +39,108 @@ export default {
39
39
  // control: false,
40
40
  // },
41
41
  size: {
42
- options: {
43
- 'small (36px)': 's',
44
- 'medium (40px)': 'm',
45
- },
46
- control: {
47
- type: 'radio',
48
- },
42
+ description: 'Specifies the size. Options: small - s (36px) medium - m (40px).',
43
+ control: 'radio',
44
+ options: ['s', 'm'],
45
+ table: {
46
+ category: 'ifx-select props',
47
+ defaultValue: {
48
+ summary: 'm'
49
+ }
50
+ }
49
51
  },
50
52
  placeholder: {
51
- options: [true, false],
52
- control: { type: 'radio' },
53
+ description: 'Determines whether a placeholder is displayed or not.',
54
+ control: 'boolean',
55
+ table: {
56
+ category: 'ifx-select props',
57
+ defaultValue: {
58
+ summary: true
59
+ }
60
+ }
61
+ },
62
+ placeholderValue: {
63
+ description: 'Sets the text displayed as the placeholder when placeholder is set to true.',
64
+ table: {
65
+ category: 'ifx-select props'
66
+ }
53
67
  },
54
- placeholderValue: { control: 'text' },
55
- // value: { for later implementation
56
- // control: 'text',
57
- // description: 'Programmatically set the selected value',
58
- // },
59
68
  error: {
60
- options: [true, false],
61
- control: { type: 'radio' },
69
+ description: 'Displays an error state.',
70
+ control: 'boolean',
71
+ table: {
72
+ category: 'ifx-select props',
73
+ defaultValue: {
74
+ summary: false
75
+ }
76
+ }
77
+ },
78
+ errorMessage: {
79
+ description: 'Message displayed when error is set to true.',
80
+ table: {
81
+ category: 'ifx-select props'
82
+ }
83
+ },
84
+ label: {
85
+ description: 'Sets the label.',
86
+ table: {
87
+ category: 'ifx-select props'
88
+ }
62
89
  },
63
- errorMessage: { control: 'text' },
64
- label: { control: 'text' },
65
90
  disabled: {
66
- options: [true, false],
67
- control: { type: 'radio' },
91
+ description: 'Disables the dropdown.',
92
+ control: 'boolean',
93
+ table: {
94
+ category: 'ifx-select props',
95
+ defaultValue: {
96
+ summary: false
97
+ }
98
+ }
68
99
  },
69
100
  showSearch: {
70
- options: [true, false],
71
- control: { type: 'radio' },
101
+ description: 'Enables a search bar inside the dropdown to filter options.',
102
+ control: 'boolean',
103
+ table: {
104
+ category: 'ifx-select props',
105
+ defaultValue: {
106
+ summary: true
107
+ }
108
+ }
109
+ },
110
+ searchPlaceholderValue: {
111
+ description: 'Placeholder text for the search input field.',
112
+ table: {
113
+ category: 'ifx-select props'
114
+ }
72
115
  },
73
- searchPlaceholderValue: { control: { type: 'text' } },
74
116
  options: {
75
- description: 'Takes an array of objects in the following format',
117
+ description: 'Takes an array of objects in the following format.',
118
+ table: {
119
+ category: 'ifx-select props'
120
+ }
76
121
  },
77
122
  ifxSelect: {
78
123
  action: 'ifxSelect',
79
- description: 'Custom event emitted when item is selected',
124
+ description: 'Custom event emitted when item is selected.',
80
125
  table: {
126
+ category: 'custom events',
81
127
  type: {
82
128
  summary: 'Framework integration',
83
129
  detail: 'React: onIfxSelect={handleInput}\nVue:@ifxSelect="handleInput"\nAngular:(ifxSelect)="handleInput()"\nVanillaJs:.addEventListener("ifxSelect", (event) => {//handle input});',
84
130
  },
85
131
  },
86
132
  },
133
+ ifxInput: {
134
+ action: 'ifxInput',
135
+ description: 'A custom event *ifxInput* is emitted immediately after the value of *Search* changes.',
136
+ table: {
137
+ category: 'custom events',
138
+ type: {
139
+ summary: 'Framework integration',
140
+ detail: 'React: onIfxInput={handleInput}\nVue:@ifxInput="handleInput"\nAngular:(ifxInput)="handleInput()"\nVanillaJs:.addEventListener("ifxInput", (event) => {//handle input});',
141
+ },
142
+ },
143
+ },
87
144
  },
88
145
  };
89
146
  const DefaultTemplate = args => {
@@ -1 +1 @@
1
- {"version":3,"file":"select.stories.js","sourceRoot":"","sources":["../../../../src/components/select/single-select/select.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\n\n//use string instead of json format here to avoid ugly formatting in the storybook code snippet\n// let options = \"[{'value': 'a','label': 'option a','selected': 'false'},{'value': 'b','label': 'option b','selected': 'false'},{'value': 'c','label': 'option c','selected': 'false'}]\"\nconst options = [\n {\n value: 'a',\n label: 'option a',\n selected: false,\n },\n {\n value: 'b',\n label: 'option b',\n selected: false,\n },\n {\n value: 'c',\n label: 'option c',\n selected: false,\n },\n];\n\nexport default {\n title: 'Components/Select/Single Select',\n // tags: ['autodocs'],\n args: {\n size: 'm',\n showSearch: true,\n searchPlaceholderValue: 'Search...',\n placeholder: true,\n placeholderValue: 'Placeholder',\n error: false,\n errorMessage: 'Some error',\n label: '',\n disabled: false,\n // type: 'single', //for later implementation\n },\n\n argTypes: {\n // type: { //for later implementation\n // // control: { type: 'radio' },\n // control: false,\n // },\n size: {\n options: {\n 'small (36px)': 's',\n 'medium (40px)': 'm',\n },\n control: {\n type: 'radio',\n },\n },\n placeholder: {\n options: [true, false],\n control: { type: 'radio' },\n },\n placeholderValue: { control: 'text' },\n // value: { for later implementation\n // control: 'text',\n // description: 'Programmatically set the selected value',\n // },\n error: {\n options: [true, false],\n control: { type: 'radio' },\n },\n errorMessage: { control: 'text' },\n label: { control: 'text' },\n disabled: {\n options: [true, false],\n control: { type: 'radio' },\n },\n showSearch: {\n options: [true, false],\n control: { type: 'radio' },\n },\n searchPlaceholderValue: { control: { type: 'text' } },\n\n options: {\n description: 'Takes an array of objects in the following format',\n },\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n },\n};\n\nconst DefaultTemplate = args => {\n const template = `<ifx-select \n size='${args.size}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n search-placeholder-value='${args.searchPlaceholderValue}'\n disabled='${args.disabled}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder-value='${args.placeholderValue}'\n options='${JSON.stringify(args.options)}' >\n </ifx-select>`;\n setTimeout(() => {\n document.querySelector('ifx-select')?.addEventListener('ifxSelect', action('ifxSelect'));\n document.querySelector('ifx-select')?.addEventListener('ifxInput', action('ifxInput'));\n }, 0);\n\n return template;\n};\n\nexport const Single = DefaultTemplate.bind({});\nSingle.args = {\n // type: 'single',\n options: options,\n};\n\n// export const Text = DefaultTemplate.bind({});\n// Text.args = {\n// type: 'text',\n// name: 'text',\n// value: 'Placeholder',\n// allowHTML: true,\n// delimiter: ',',\n// editItems: true,\n// maxItemCount: 5,\n// };\n\n// export const Text = DefaultTemplate.bind({});\n// Text.args = {\n// type: 'multiple',\n// name: 'multiple',\n// choices: 'Choice 1, Choice 2, Choice 3',\n// };\n\n// export const SingleWithIcon = DefaultTemplate.bind({});\n// SingleWithIcon.args = {\n// type: 'single',\n// choices: \"Choice 1, Choice 2 <ifx-icon icon='check16'></ifx-icon>, Choice 3 <ifx-icon icon='check16'></ifx-icon>\",\n// };\n\n// export const MultiselectCombobox = DefaultTemplate.bind({});\n// MultiselectCombobox.args = {\n// type: 'multiple',\n// // removeItemButton: true,\n// };\n"]}
1
+ {"version":3,"file":"select.stories.js","sourceRoot":"","sources":["../../../../src/components/select/single-select/select.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,+FAA+F;AAC/F,yLAAyL;AACzL,MAAM,OAAO,GAAG;IACd;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,eAAe;IACb,KAAK,EAAE,iCAAiC;IACxC,sBAAsB;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,GAAG;QACT,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,WAAW;QACnC,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,aAAa;QAC/B,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,KAAK;QACf,6CAA6C;KAC9C;IAED,QAAQ,EAAE;QACR,qCAAqC;QACrC,mCAAmC;QACnC,oBAAoB;QACpB,KAAK;QACL,IAAI,EAAE;YACJ,WAAW,EAAE,kEAAkE;YAC/E,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACnB,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE;oBACZ,OAAO,EAAE,GAAG;iBACb;aACF;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;aACF;SACF;QACD,gBAAgB,EAAE;YAChB,WAAW,EAAE,6EAA6E;YAC1F,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;aAC7B;SACF;QACD,KAAK,EAAE;YACL,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE;oBACZ,OAAO,EAAE,KAAK;iBACf;aACF;SACF;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,8CAA8C;YAC3D,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;aAC7B;SACF;QACD,KAAK,EAAE;YACL,WAAW,EAAE,iBAAiB;YAC9B,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;aAC7B;SACF;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE;oBACZ,OAAO,EAAE,KAAK;iBACf;aACF;SACF;QACD,UAAU,EAAE;YACV,WAAW,EAAE,6DAA6D;YAC1E,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;aACF;SACF;QACD,sBAAsB,EAAE;YACtB,WAAW,EAAE,8CAA8C;YAC3D,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;aAC7B;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,oDAAoD;YACjE,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;aAC7B;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,6KAA6K;iBAChL;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,uFAAuF;YACpG,KAAK,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,yKAAyK;iBAC5K;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;IAC7B,MAAM,QAAQ,GAAG;UACT,IAAI,CAAC,IAAI;iBACF,IAAI,CAAC,WAAW;iBAChB,IAAI,CAAC,UAAU;8BACF,IAAI,CAAC,sBAAsB;cAC3C,IAAI,CAAC,QAAQ;WAChB,IAAI,CAAC,KAAK;mBACF,IAAI,CAAC,YAAY;WACzB,IAAI,CAAC,KAAK;uBACE,IAAI,CAAC,gBAAgB;aAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;eAC1B,CAAC;IACd,UAAU,CAAC,GAAG,EAAE;;QACd,MAAA,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,0CAAE,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACzF,MAAA,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,0CAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,MAAM,CAAC,IAAI,GAAG;IACZ,kBAAkB;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,gDAAgD;AAChD,gBAAgB;AAChB,kBAAkB;AAClB,kBAAkB;AAClB,0BAA0B;AAC1B,qBAAqB;AACrB,oBAAoB;AACpB,qBAAqB;AACrB,qBAAqB;AACrB,KAAK;AAEL,gDAAgD;AAChD,gBAAgB;AAChB,sBAAsB;AACtB,sBAAsB;AACtB,6CAA6C;AAC7C,KAAK;AAEL,0DAA0D;AAC1D,0BAA0B;AAC1B,oBAAoB;AACpB,uHAAuH;AACvH,KAAK;AAEL,+DAA+D;AAC/D,+BAA+B;AAC/B,sBAAsB;AACtB,+BAA+B;AAC/B,KAAK","sourcesContent":["import { action } from '@storybook/addon-actions';\n\n//use string instead of json format here to avoid ugly formatting in the storybook code snippet\n// let options = \"[{'value': 'a','label': 'option a','selected': 'false'},{'value': 'b','label': 'option b','selected': 'false'},{'value': 'c','label': 'option c','selected': 'false'}]\"\nconst options = [\n {\n value: 'a',\n label: 'option a',\n selected: false,\n },\n {\n value: 'b',\n label: 'option b',\n selected: false,\n },\n {\n value: 'c',\n label: 'option c',\n selected: false,\n },\n];\n\nexport default {\n title: 'Components/Select/Single Select',\n // tags: ['autodocs'],\n args: {\n label: '',\n size: 'm',\n showSearch: true,\n searchPlaceholderValue: 'Search...',\n placeholder: true,\n placeholderValue: 'Placeholder',\n error: false,\n errorMessage: 'Some error',\n disabled: false,\n // type: 'single', //for later implementation\n },\n\n argTypes: {\n // type: { //for later implementation\n // // control: { type: 'radio' },\n // control: false,\n // },\n size: {\n description: 'Specifies the size. Options: small - s (36px) medium - m (40px).',\n control: 'radio',\n options: ['s', 'm'],\n table: {\n category: 'ifx-select props',\n defaultValue: {\n summary: 'm'\n }\n }\n },\n placeholder: {\n description: 'Determines whether a placeholder is displayed or not.',\n control: 'boolean',\n table: {\n category: 'ifx-select props',\n defaultValue: {\n summary: true\n }\n }\n },\n placeholderValue: {\n description: 'Sets the text displayed as the placeholder when placeholder is set to true.',\n table: {\n category: 'ifx-select props'\n }\n },\n error: {\n description: 'Displays an error state.',\n control: 'boolean',\n table: {\n category: 'ifx-select props',\n defaultValue: {\n summary: false\n }\n }\n },\n errorMessage: {\n description: 'Message displayed when error is set to true.',\n table: {\n category: 'ifx-select props'\n }\n },\n label: {\n description: 'Sets the label.',\n table: {\n category: 'ifx-select props'\n }\n },\n disabled: {\n description: 'Disables the dropdown.',\n control: 'boolean',\n table: {\n category: 'ifx-select props',\n defaultValue: {\n summary: false\n }\n }\n },\n showSearch: {\n description: 'Enables a search bar inside the dropdown to filter options.',\n control: 'boolean',\n table: {\n category: 'ifx-select props',\n defaultValue: {\n summary: true\n }\n }\n },\n searchPlaceholderValue: {\n description: 'Placeholder text for the search input field.',\n table: {\n category: 'ifx-select props'\n }\n },\n options: {\n description: 'Takes an array of objects in the following format.',\n table: {\n category: 'ifx-select props'\n }\n },\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n ifxInput: {\n action: 'ifxInput',\n description: 'A custom event *ifxInput* is emitted immediately after the value of *Search* changes.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxInput={handleInput}\\nVue:@ifxInput=\"handleInput\"\\nAngular:(ifxInput)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxInput\", (event) => {//handle input});',\n },\n },\n },\n },\n};\n\nconst DefaultTemplate = args => {\n const template = `<ifx-select \n size='${args.size}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n search-placeholder-value='${args.searchPlaceholderValue}'\n disabled='${args.disabled}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder-value='${args.placeholderValue}'\n options='${JSON.stringify(args.options)}' >\n </ifx-select>`;\n setTimeout(() => {\n document.querySelector('ifx-select')?.addEventListener('ifxSelect', action('ifxSelect'));\n document.querySelector('ifx-select')?.addEventListener('ifxInput', action('ifxInput'));\n }, 0);\n\n return template;\n};\n\nexport const Single = DefaultTemplate.bind({});\nSingle.args = {\n // type: 'single',\n options: options,\n};\n\n// export const Text = DefaultTemplate.bind({});\n// Text.args = {\n// type: 'text',\n// name: 'text',\n// value: 'Placeholder',\n// allowHTML: true,\n// delimiter: ',',\n// editItems: true,\n// maxItemCount: 5,\n// };\n\n// export const Text = DefaultTemplate.bind({});\n// Text.args = {\n// type: 'multiple',\n// name: 'multiple',\n// choices: 'Choice 1, Choice 2, Choice 3',\n// };\n\n// export const SingleWithIcon = DefaultTemplate.bind({});\n// SingleWithIcon.args = {\n// type: 'single',\n// choices: \"Choice 1, Choice 2 <ifx-icon icon='check16'></ifx-icon>, Choice 3 <ifx-icon icon='check16'></ifx-icon>\",\n// };\n\n// export const MultiselectCombobox = DefaultTemplate.bind({});\n// MultiselectCombobox.args = {\n// type: 'multiple',\n// // removeItemButton: true,\n// };\n"]}
@@ -5,36 +5,120 @@ export default {
5
5
  component: 'ifx-slider',
6
6
  tags: ['autodocs'],
7
7
  argTypes: {
8
- min: { control: 'number' },
9
- max: { control: 'number' },
10
- step: { control: 'number' },
11
- type: { control: 'radio', options: ['single', 'double'] },
12
- value: { control: 'number', if: { arg: 'type', eq: 'single' } },
13
- minValueHandle: { control: 'number', if: { arg: 'type', eq: 'double' } },
14
- maxValueHandle: { control: 'number', if: { arg: 'type', eq: 'double' } },
15
- showPercentage: { control: 'boolean', if: { arg: 'type', eq: 'single' } },
16
- disabled: { control: 'boolean' },
8
+ min: { control: 'number',
9
+ description: 'The minimum value of the slider.',
10
+ table: {
11
+ category: 'ifx-slider props',
12
+ defaultValue: { summary: '0' },
13
+ type: { summary: 'number' }
14
+ }
15
+ },
16
+ max: { control: 'number',
17
+ description: 'The maximum value of the slider.',
18
+ table: {
19
+ category: 'ifx-slider props',
20
+ defaultValue: { summary: '100' },
21
+ type: { summary: 'number' }
22
+ }
23
+ },
24
+ step: { control: 'number',
25
+ description: 'The step value of the slider.',
26
+ table: {
27
+ category: 'ifx-slider props',
28
+ defaultValue: { summary: '1' },
29
+ type: { summary: 'number' }
30
+ }
31
+ },
32
+ type: { control: 'radio', options: ['single', 'double'],
33
+ description: 'The type of the slider.',
34
+ table: {
35
+ category: 'ifx-slider props',
36
+ defaultValue: { summary: 'single' },
37
+ type: { summary: 'single | double' }
38
+ }
39
+ },
40
+ value: { control: 'number', if: { arg: 'type', eq: 'single' },
41
+ description: 'The current value of the slider.',
42
+ table: {
43
+ category: 'ifx-slider props',
44
+ type: { summary: 'number ' }
45
+ }
46
+ },
47
+ minValueHandle: { control: 'number', if: { arg: 'type', eq: 'double' },
48
+ description: 'The minimum value of the handle in double slider.',
49
+ table: {
50
+ category: 'ifx-slider props',
51
+ type: { summary: 'number' }
52
+ }
53
+ },
54
+ maxValueHandle: { control: 'number', if: { arg: 'type', eq: 'double' },
55
+ description: 'The maximum value of the handle in double slider.',
56
+ table: {
57
+ category: 'ifx-slider props',
58
+ type: { summary: 'number' }
59
+ },
60
+ },
61
+ showPercentage: {
62
+ control: 'boolean', if: { arg: 'type', eq: 'single' },
63
+ description: 'Show the percentage of the slider value.',
64
+ table: {
65
+ category: 'ifx-slider props',
66
+ defaultValue: { summary: 'false' },
67
+ type: { summary: 'boolean' }
68
+ }
69
+ },
70
+ disabled: { control: 'boolean',
71
+ description: 'Disable the slider.',
72
+ table: {
73
+ category: 'ifx-slider props',
74
+ defaultValue: { summary: 'false' },
75
+ type: { summary: 'boolean' }
76
+ }
77
+ },
17
78
  leftIcon: {
18
79
  options: Object.values(icons).map(i => i['name']),
19
80
  control: { type: 'select' },
81
+ description: 'The icon on the left of the slider.',
82
+ table: {
83
+ category: 'ifx-slider props',
84
+ type: { summary: 'string' }
85
+ }
20
86
  },
21
87
  rightIcon: {
22
88
  options: Object.values(icons).map(i => i['name']),
23
89
  control: { type: 'select' },
90
+ description: 'The icon on the right of the slider.',
91
+ table: {
92
+ category: 'ifx-slider props',
93
+ type: { summary: 'string' }
94
+ }
95
+ },
96
+ leftText: { control: 'text',
97
+ description: 'The text on the left side.',
98
+ table: {
99
+ category: 'ifx-slider props',
100
+ type: { summary: 'string' }
101
+ }
102
+ },
103
+ rightText: { control: 'text',
104
+ description: 'The text on the right side.',
105
+ table: {
106
+ category: 'ifx-slider props',
107
+ type: { summary: 'string' }
108
+ }
24
109
  },
25
- leftText: { control: 'text' },
26
- rightText: { control: 'text' },
27
110
  ifxChange: {
28
111
  action: 'ifxChange',
29
- description: 'Custom event emitted on input change',
112
+ description: 'Custom event emitted on input change.',
30
113
  table: {
114
+ category: 'custom events',
31
115
  type: {
32
116
  summary: 'Framework integration',
33
117
  detail: 'React: onIfxChange={handleChange}\nVue:@ifxChange="handleChange"\nAngular:(ifxChange)="handleChange()"\nVanillaJs:.addEventListener("ifxChange", (event) => {//handle change});',
34
118
  },
35
119
  },
36
120
  },
37
- },
121
+ }
38
122
  };
39
123
  const Template = args => {
40
124
  const sliderElement = document.createElement('ifx-slider');
@@ -1 +1 @@
1
- {"version":3,"file":"slider.stories.js","sourceRoot":"","sources":["../../../src/components/slider/slider.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Slider',\n component: 'ifx-slider',\n tags: ['autodocs'],\n\n argTypes: {\n min: { control: 'number' },\n max: { control: 'number' },\n step: { control: 'number' },\n type: { control: 'radio', options: ['single', 'double']},\n value: { control: 'number', if: { arg: 'type', eq: 'single'} },\n minValueHandle : {control :'number', if: { arg: 'type', eq: 'double'}},\n maxValueHandle : {control :'number', if: { arg: 'type', eq: 'double'}},\n showPercentage: { control: 'boolean', if: { arg: 'type', eq: 'single'} },\n disabled: { control: 'boolean' },\n leftIcon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n },\n rightIcon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n },\n leftText: { control: 'text' },\n rightText: { control: 'text' },\n ifxChange: {\n action: 'ifxChange',\n description: 'Custom event emitted on input change',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxChange={handleChange}\\nVue:@ifxChange=\"handleChange\"\\nAngular:(ifxChange)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxChange\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst Template = args => {\n const sliderElement = document.createElement('ifx-slider');\n sliderElement.setAttribute('value', args.value);\n sliderElement.setAttribute('min', args.min);\n sliderElement.setAttribute('max', args.max);\n sliderElement.setAttribute('step', args.step)\n sliderElement.setAttribute('min-value-handle', args.minValueHandle);\n sliderElement.setAttribute('max-value-handle', args.maxValueHandle);\n sliderElement.setAttribute('type', args.type);\n if (args.showPercentage) {\n sliderElement.setAttribute('show-percentage', 'true');\n }\n if (args.disabled) {\n sliderElement.setAttribute('disabled', 'true'); // Set disabled attribute\n }\n\n if (args.leftIcon) {\n sliderElement.setAttribute('left-icon', args.leftIcon);\n }\n if (args.rightIcon) {\n sliderElement.setAttribute('right-icon', args.rightIcon);\n }\n if (args.leftText) {\n sliderElement.setAttribute('left-text', args.leftText);\n }\n if (args.rightText) {\n sliderElement.setAttribute('right-text', args.rightText);\n }\n sliderElement.addEventListener('ifxChange', action('ifxChange'));\n\n return sliderElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n min: 0,\n max: 100,\n step: 1,\n value: 50,\n minValueHandle: 20,\n maxValueHandle: 80,\n showPercentage: false,\n disabled: false,\n type: 'single'\n};\n\nexport const WithPercentageDisplay = Template.bind({});\nWithPercentageDisplay.args = {\n ...Default.args,\n showPercentage: true,\n disabled: false,\n};\n\nexport const WithIcons = Template.bind({});\nWithIcons.args = {\n ...Default.args,\n leftIcon: 'cogwheel-16',\n rightIcon: 'cogwheel-16',\n};\n\nexport const WithTexts = Template.bind({});\nWithTexts.args = {\n ...Default.args,\n leftText: 'LeftText',\n rightText: 'RightText',\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n ...Default.args,\n disabled: true,\n};\n"]}
1
+ {"version":3,"file":"slider.stories.js","sourceRoot":"","sources":["../../../src/components/slider/slider.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Slider',\n component: 'ifx-slider',\n tags: ['autodocs'],\n\n argTypes: {\n min: { control: 'number',\n description: 'The minimum value of the slider.',\n table:{\n category: 'ifx-slider props',\n defaultValue: { summary: '0' },\n type: { summary: 'number' }\n }\n },\n max: { control: 'number',\n description: 'The maximum value of the slider.',\n table:{\n category: 'ifx-slider props',\n defaultValue: { summary: '100' },\n type: { summary: 'number' }\n } \n },\n step: { control: 'number',\n description: 'The step value of the slider.',\n table:{\n category: 'ifx-slider props',\n defaultValue: { summary: '1' },\n type: { summary: 'number' }\n }\n },\n type: { control: 'radio', options: ['single', 'double'],\n description: 'The type of the slider.',\n table: {\n category: 'ifx-slider props',\n defaultValue: { summary: 'single' },\n type: { summary: 'single | double' }\n }\n },\n value: { control: 'number', if: { arg: 'type', eq: 'single'},\n description: 'The current value of the slider.',\n table: { \n category: 'ifx-slider props',\n type: { summary: 'number ' }\n }\n }, \n minValueHandle : {control :'number', if: { arg: 'type', eq: 'double'},\n description: 'The minimum value of the handle in double slider.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'number' }\n }\n },\n maxValueHandle : {control :'number', if: { arg: 'type', eq: 'double'},\n description: 'The maximum value of the handle in double slider.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'number' }\n },\n }, \n showPercentage: { \n control: 'boolean', if: { arg: 'type', eq: 'single'},\n description: 'Show the percentage of the slider value.',\n table: {\n category: 'ifx-slider props',\n defaultValue: { summary: 'false' },\n type: { summary: 'boolean' }\n }\n },\n disabled: { control: 'boolean',\n description: 'Disable the slider.',\n table: {\n category: 'ifx-slider props',\n defaultValue: { summary: 'false' },\n type: { summary: 'boolean' }\n }\n },\n leftIcon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select'},\n description: 'The icon on the left of the slider.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'string' }\n }\n },\n rightIcon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n description: 'The icon on the right of the slider.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'string' }\n }\n },\n leftText: { control: 'text',\n description: 'The text on the left side.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'string' }\n }\n },\n rightText: { control: 'text',\n description: 'The text on the right side.',\n table: {\n category: 'ifx-slider props',\n type: { summary: 'string' }\n }\n },\n ifxChange: {\n action: 'ifxChange',\n description: 'Custom event emitted on input change.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxChange={handleChange}\\nVue:@ifxChange=\"handleChange\"\\nAngular:(ifxChange)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxChange\", (event) => {//handle change});',\n },\n },\n },\n }\n}\n\nconst Template = args => {\n const sliderElement = document.createElement('ifx-slider');\n sliderElement.setAttribute('value', args.value);\n sliderElement.setAttribute('min', args.min);\n sliderElement.setAttribute('max', args.max);\n sliderElement.setAttribute('step', args.step)\n sliderElement.setAttribute('min-value-handle', args.minValueHandle);\n sliderElement.setAttribute('max-value-handle', args.maxValueHandle);\n sliderElement.setAttribute('type', args.type);\n if (args.showPercentage) {\n sliderElement.setAttribute('show-percentage', 'true');\n }\n if (args.disabled) {\n sliderElement.setAttribute('disabled', 'true'); // Set disabled attribute\n }\n\n if (args.leftIcon) {\n sliderElement.setAttribute('left-icon', args.leftIcon);\n }\n if (args.rightIcon) {\n sliderElement.setAttribute('right-icon', args.rightIcon);\n }\n if (args.leftText) {\n sliderElement.setAttribute('left-text', args.leftText);\n }\n if (args.rightText) {\n sliderElement.setAttribute('right-text', args.rightText);\n }\n sliderElement.addEventListener('ifxChange', action('ifxChange'));\n\n return sliderElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n min: 0,\n max: 100,\n step: 1,\n value: 50,\n minValueHandle: 20,\n maxValueHandle: 80,\n showPercentage: false,\n disabled: false,\n type: 'single'\n};\n\nexport const WithPercentageDisplay = Template.bind({});\nWithPercentageDisplay.args = {\n ...Default.args,\n showPercentage: true,\n disabled: false,\n};\n\nexport const WithIcons = Template.bind({});\nWithIcons.args = {\n ...Default.args,\n leftIcon: 'cogwheel-16',\n rightIcon: 'cogwheel-16',\n};\n\nexport const WithTexts = Template.bind({});\nWithTexts.args = {\n ...Default.args,\n leftText: 'LeftText',\n rightText: 'RightText',\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n ...Default.args,\n disabled: true,\n};\n"]}